11-docker系列-docker之compose安装和相关命令

声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。

主旨

有没有想过如果docker容器越来越多呢?几十上百呢?我们如果单纯靠命令来操作,有点儿不太现linux是什么操作系统实,咱们这边就简单的来介绍一个compose的方式,使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容python可以做什么工作器 Docker 的应用程序linux工具。

环境

linux环境
docker环境

安装compose

[yunweijia@localhost ~]$ sudo yum -y install epel-release
[yunweijia@localhost ~]$ sudo yum makecache
[yunweijia@localhost ~]$ sudo yum install python-pip -y
[yunweijia@localhost ~]$ sudo pip install docker-compose
# 如果报错了,那么我们执行下
[yunweijia@localhost ~]$ sudo pip install --upgrade pip
# 如果还报错,那么我们执行如下,下面这条命令记得根据你实际情况来,错误信息都会有提示,注意看下
[yunweijia@localhost ~]$ sudo /usr/local/python3/bin/python3.7 -m pip install --upgrade pip
此时我们再次运行即可:
[yunweijia@localhost ~]$ sudo pip install docker-compose

查看安装的版本:

[yunweijia@localhost ~]$ sudo docker-compose version
docker-compose version 1.29.2, build unknown
docker-py version: 5.0.3
CPython version: 3.7.1
OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
[yunweijia@localhost ~]$

修改sudo的环境变量:

PS:如果你本来就是root用户,则不需要此步骤。

[yunweijia@localhost nginx]$ sudo which docker-compose
/usr/local/python3/bin/docker-compose
[yunweijia@localhost nginx]$ sudo vim /etc/sudoers
# 下面这行最后以冒号分隔开,然后t添加上自己上一条命令查出来的地址
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin
# 输入 :wq! 退出
[yunweijia@localhost nginx]$

配置文件

docker-clinux删除文件命令ompose可以有多个配置文件,因为当你使用compose执行命令python代码画樱花的时候,默认读取的是当前目录中的“docker-compose.yml”文件,当然了,你也可以使用 -f 单独指定,这样子我们也可以根据我们实际情况写出来好几个compose的配置文件,也就相当于某几个容器特制成同一批。

docker-compose常用命令

这里当然不止这几个命令,但是这几个是常用的,具体的还是要看官网介绍。

# 后台启动容器
docker-compose up -d

# 列出所有运行容器
docker-compose ps

# 查看服务日志输出
docker-compose logs

# 启动指定服务已存在的容器
docker-compose start

# 停止已运行的容器
docker-compose stop

# 构建或者重新构建服务
docker-compose build

# 打印绑定的公共端口,下面命令可以输出 nginx 服务 80 端口所绑定的公共端口
docker-compose port nginx 80

# 删除指定服务的容器
docker-compose rm

# 通过发送 SIGKILL 信号来停止指定服务的容器
docker-compose kill

# 在一个服务上执行一个命令
docker-compose run web bash

compose简单操作容器

语法:
docker-compose up -d # 后台启动容器
docker-compose ps # 查看容器
docker-compose stop # 停止容器
[yunweijia@localhost ~]$ mkdir -pv docker/compose/nginx
mkdir: 已创建目录 "docker/compose"
mkdir: 已创建目录 "docker/compose/nginx"
[yunweijia@localhost ~]$ cd docker/compose/nginx/
[yunweijia@localhost nginx]$ pwd
/home/yunweijia/docker/compose/nginx
[yunweijia@localhost nginx]$
[yunweijia@localhost nginx]$ touch docker-compose.yml
[yunweijia@localhost nginx]$ vim docker-compose.yml
version: "2"
services:
nginx:
image: nginx
[yunweijia@localhost nginx]$ sudo docker-compose up -d
Creating network "nginx_default" with the default driver
Creating nginx_nginx_1 ... done
[yunweijia@localhost nginx]$ sudo docker-compose ps
Name Command State Ports
---------------------------------------------------------------
nginx_nginx_1 /docker-entrypoint.sh ngin ... Up 80/tcp
[yunweijia@localhost nginx]$

本文完,下一篇我们将介绍下docker-compose文件里面参数如何进行配置,以及运docker行几个实例进行全方位讲解。