目录
[docker-compose 配置模板文件常用的字段:](#docker-compose 配置模板文件常用的字段:)
[二.Docker Compose 环境安装:](#二.Docker Compose 环境安装:)
[准备好nginx 的dockerfile的文件:](#准备好nginx 的dockerfile的文件:)
一.docker-compose
传统的容器管理:Dockerfile文件 --> 手动执行 docker build 一个个构建镜像 -> 手动执行 docker run 一个个创建启动容器
编排管理容器:Dockerfile文件 --> 在 docker compose 配置文件里定义好容器启动参数和依赖关系 -> 执行 docker-compose 命令指定配置文件一次性的自动完成所有镜像的构建和容器的创建启动
docker-compose 是一个可以实现在单机上对容器集群编排管理的工具。
使用python开发的,能运行docker的平台也都能用docker-compose编排管理容器。
本质就是在yaml格式的docker-compose配置模板文件里定义多个服务容器的启动参数和依赖关系,并使用docker-compose命令根据指定配置模板文件的配置来启动和管理容器集群。
docker-compose的三大概念:
项目project -> 包含一个或多个服务service -> 包含一个或多个容器container的镜像、端口映射、环境变量、依赖关系等启动参数
默认使用项目的目录名作为project的项目名,支持使用 -p 或 --project-name 来指定项目名称
项目目录里要包含一个 docker-compose 配置模板文件,默认为 docker-compose.yml,支持使用 -f 或 --file 来指定项目的配置模板文件
在配置模板文件里要包含一个或多个服务容器的配置,每个服务要包含容器的名称、镜像、映射端口、挂载点、网络模式、依赖关系等容器启动的配置参数
yaml文件格式:
文件名格式通常是以 .yaml .yml 为后缀,用 空格缩进 表示字段的层级关系,特性:可读性高,易于人类管理。
json文件格式:
文件名格式通常是以 .json 为后缀,用 大括号{} 表示字段的层级关系,每层字段除了最后一个字段都要用逗号,结尾,特性:易于api接口解析。
docker-compose 配置模板文件常用的字段:
image 使用本地镜像或从仓库拉取镜像创建容器
build: 使用dockerfile现场构建镜像创建容器
context:
dockerfile:
command 指定容器启动命令,会覆盖镜像中的CMD指令
container_name --name
environment -e --env
network_mode --network
network 指定加入的网络和IP --IP
ports -p
volumes -v
volumes_from --volumes-from ,版本3不支持
hostname -h --hostname
sysctls --sysctl
links --link
privileged --privileged
restart --restart
depends_on 指定有依赖关系的容器
二.Docker Compose 环境安装:
我们接着Docker容器引擎(3)dockerfile的服务器接着做,compose启动nginx:
查看版本:
Docker Compose 常用命令:
字段 描述
build 重新构建服务
ps 列出容器
up 创建和启动容器
exec 在容器里面执行命令
scale 指定一个服务容器启动数量
top 显示容器进程
logs 查看容器输出
down 删除容器、网络、数据卷和镜像
stop/start/restart 停止/启动/重启服务
准备好nginx 的dockerfile的文件:
编写配置文件docker-compose.yml:
查看镜像:
查看容器:
可以添加到变量中:
创建并启动容器:
docker-compose up -d
查看镜像,自动创建:
查看容器,启动状态:
docker ps -a
docker-compose ps
关闭docker-compose:
查看容器:
查看镜像:
访问页面: