在Ubuntu 20.04/18.04/CentOS 8/Debian 10/Fedora 33/32/31上安装Docker Compose
时间:2020-02-23 14:31:35 来源:igfitidea点击:
如何在Ubuntu 20.04/18.04/Debian 10/CentOS 8/Fedora 33/32/31上安装Docker Compose?本教程将向我们展示如何在Linux上安装最新的Docker Compose。 Compose是用于定义和运行多容器Docker应用程序的工具。 YAML文件用于配置应用程序服务。
这篇文章旨在成为寻求在Linux上设置Docker Compose的开发人员和SysAdmins的简要指导性逐步教程。我们将检查该项目的Github API版本页面,并提取最新的二进制文件。
在Linux上安装最新的Docker Compose
我们需要在系统上安装curl才能执行此操作。当然,以具有sudo特权的用户身份访问终端。
---- CentOS/RHEL ---- $sudo yum -y install curl ---- Debian/Ubuntu --- $sudo apt install -y curl ----- Fedora ---- $sudo dnf -y install curl
一旦安装了curl,就可以在Linux机器上下载最新的Compose。
curl -s https://api.github.com/repos/docker/compose/releases/latest \ | grep browser_download_url \ | grep docker-compose-Linux-x86_64 \ | cut -d '"' -f 4 \ | wget -qi
使二进制文件可执行。
chmod +x docker-compose-Linux-x86_64
将文件移到PATH。
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
确认版本。
$docker-compose version docker-compose version 1.24.1, build 4667896b docker-py version: 3.7.3 CPython version: 3.6.8 OpenSSL version: OpenSSL 1.1.0j 20 Nov 2016
配置撰写命令行完成
为bash和zsh shell编写hascommand完成。
对于Bash用户
将完成脚本放在/etc/bash_completion.d
/中。
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
源文件或者重新登录以享受完成功能。
source /etc/bash_completion.d/docker-compose
对于Zsh用户
将完成脚本下载到~/.zsh/completion /`中
mkdir -p ~/.zsh/completion curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose
通过添加~/.zshrc将目录包含在$fpath中:
fpath=(~/.zsh/completion $fpath)
确保已加载compinit或者通过添加~/.zshrc来实现:
autoload -Uz compinit && compinit -i
然后重新加载shell:
exec $SHELL -l
测试Docker Compose安装。
我们的综合教程是关于使用Docker Compose管理Docker容器
创建一个测试Docker Compose文件。
$vim docker-compose.yml
将以下数据添加到文件中。
version: '3' services: web: image: nginx:latest ports: - "8080:80" links: - php php: image: php:7-fpm
启动服务容器。
$docker-compose up -d Starting root_php_1 … done Starting root_web_1 … done
输出:
显示正在运行的容器
$docker-compose ps Name Command State Ports ------------------------------------------------------------------------ root_php_1 docker-php-entrypoint php-fpm Up 9000/tcp root_web_1 nginx -g daemon off; Up 0.0.0.0:8080->80/tcp
销毁容器
$docker-compose stop Stopping root_web_1 ... done Stopping root_php_1 ... done $docker-compose rm -f Going to remove root_web_1, root_php_1 Removing root_web_1 ... done Removing root_php_1 ... done