Docker-Docker Compose的安装与使用
程序员文章站
2022-05-15 13:10:24
...
Docker-Docker Compose的安装与使用
Docker Compose是什么
- Docker Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然后使用一个命令,就可以从配置中创建并启动所有服务。
- 简单说就是,为虚拟化容器实现批处理提供了一种实现方式
- 使用Compose基本上是三步
- 编辑
Dockerfile
定义应用环境,以便可以在任何地方复制它 - 定义组成应用程序的服务,
docker-compose.yml
用于描述容器与容器之间的运行环境 - 执行
docker-compose up
,启动您的整个应用程序(你所描述的)
- 编辑
-
docker-compose.yml
看起来是version: '3' services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {}
- 注意yaml的语法规则
- Docker Compose具有管理整个应用程序声明周期的命令
- 启动,停止和重建服务
- 查看正在运行的服务的状态
- 流运行服务的日志输出
- 对服务运行一次性命令
Docker Compose的安装
- 前置条件
- 已安装Docker Engine
- 下载Docker Compose的二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 将可执行权限应用于二进制文件
sudo chmod +x /usr/local/bin/docker-compose
- 测试安装
docker-compose --version
Docker Compose的卸载
- 使用curl安装的docker compose的卸载
sudo rm /usr/local/bin/docker-compose
- 使用pip安装的docker compose的卸载
pip uninstall docker-compose
Compose File与Docker版本上的关系
Compose file format | Docker Engine release |
---|---|
3.7 | 18.06.0+ |
3.6 | 18.02.0+ |
3.5 | 17.12.0+ |
3.4 | 17.09.0+ |
3.3 | 17.06.0+ |
3.2 | 17.04.0+ |
3.1 | 1.13.1+ |
3.0 | 1.13.0+ |
2.4 | 17.12.0+ |
2.3 | 17.06.0+ |
2.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
1.0 | 1.9.1.+ |
Docker Compose常用命令
命令 | 描述 | 命令 | 描述 |
---|---|---|---|
build Usage: build [options] [–build-arg key=val…] [SERVICE…] --no-cache 不使用缓存构建镜像 | 重新构建服务 | up Usage: up [options] [–scale SERVICE=NUM…] [SERVICE…] -d 在后台运行容器 -no-deps 不启动连接服务 --no-recreate 如果容器存在,不重建他们 --no-build 不构建镜像,即使它丢失 --build 启动容器下构建镜像 --scale SERVICE=NUM 指定一个服务(容器)的启动数量 | 创建和启动容器 |
config Usage: config [options] -q, --quiet 只验证不打印 --services 只打印服务名称,每行一个 --volumes 打印数据卷名称,每行一个 | 验证和查看Compose文件 | stop Usage: stop [SERVICE…] | 停止服务 |
exec Usage: exec [options] SERVICE COMMAND [ARGS…] -d 在后台运行命令 --privileged 给这个进程赋予特权权限 -u, --user USER 作为该用户运行该命令 -T 禁用分配伪终端,默认分配一个终端 --index=index 多个容器时的索引数字,默认1 | 在运行的容器里执行命令 | start Usage: start [SERVICE…] | 启动服务 |
port Usage: port [options] SERVICE PRIVATE_PORT --protocol=proto tcp或udp,默认tcp --index=index 多个容器时的索引数字,默认1 | 打印绑定的开放端口 | restart Usage: restart [options] [SERVICE…] | 重启服务 |
ps Usage: ps [options] [SERVICE…] -q 只显示ID | 列出容器 | top Usage: top [SERVICE…] | 显示容器运行进程 |
rm Usage: rm [options] [SERVICE…] -f, --force 强制删除 -s, --stop 删除容器时如果需要先停止容器 -v 删除与容器相关的任何匿名卷 | 删除停止的服务容器 | logs -f, --follow 实时输出日志 -t, --timestamps 显示时间戳 --tail=“all” 从日志末尾显示行数 | 显示容器的输出 |
scale Usage: scale [options] [SERVICE=NUM…] | 指定一个服务启动容器数量 | down | 停止容器和删除容器、网络、数 据卷和镜像 |
- 查看命令
docker-compose --help
试用Docker Compose(一)
- 选取合适的路径
- 创建与编辑
docker-compose.yml
文件touch docker-compose.yml
version: '3' services: web: build: . ports: - "8888:80"
- 创建与编辑Dockerfile
touch Dockerfile
FROM centos:7 MAINTAINER learn docker compose RUN yum install -y httpd php php-gd php-mysql RUN echo "<?php phpinfo()?>" > /var/www/html/index.php CMD ["/usr/sbin/httpd","-D","FOREGROUND"] EXPOSE 80
- 启动,该命令需要在Dockerfile所在路径下执行
docker-compose up
- 查看效果
- 浏览器访问 对应主机IP:8888
-
docker-compose ps
,该命令需要在Dockerfile所在路径下执行
上一篇: docker-compose安装与使用
下一篇: Docker compose安装使用
推荐阅读