@File
2019-10-08T11:27:26.000000Z
字数 1932
阅读 111
系统
# 指定compose 版本version: '3'services:# redisredis:image: redisrestart: alwayscontainer_name: redisports:- 6379:6379# 通过读取 dockerfile 创建容器webapp:# 指向dockerfile文件build: ./# 映射端口 相当于 -p 宿主机端口:容器端口ports:- '8080:8080'# 依赖于其他的容器links:- mysql# 通过 compose 创建容器mysql:# 基础镜像image: mysql:5.7.22# 重启机制restart: always# 容器的名称container_name: mysql# 映射端口ports:- '3306:3306'# 设置环境变量environment:# 设置root用户的密码MYSQL_ROOT_PASSWORD: rootMYSQL_USER: mysqlMYSQL_PASSWORD: mysql# 设置时区TZ: Asia/Shanghaicommand:# 防止低版本的连接客服报错的问题--default-authentication-plugin=mysql_native_password# 设置数据库的编码--character-set-server=utf8mb4# 设置数据库默认的排序方式--collation-server=utf8mb4_general_ci# 不允许时间字段 not null--explicit_defaults_for_timestamp=true# Linux 表名区分大小写 1 表示不区分大小写--lower_case_table_names=1# 挂载volumes:# 数据的数据挂载到容器中- ./mysql/data:/var/lib/mysql- ./mysql/log:/var/log/mysql- ./mysql/config:/etc/mysql
image 基础镜像指定为镜像名称或镜像 ID。如果镜像在本地不存在,
Compose将会尝试拉去这个镜像。
build 执行 dockerfile指定
Dockerfile所在文件夹的路径。Compose将会利用它自动构建这个镜像,然后使用这个镜像。
command 执行命令覆盖容器启动后默认执行的命令。
links 连接容器链接到其它服务中的容器。使用服务名称(同时作为别名)或服务名称:服务别名
(SERVICE:ALIAS)格式都可以。
external_links 连接容器链接到 docker-compose.yml 外部的容器,甚至 并非
Compose管理的容器。参数格式跟links类似。
ports 映射端口暴露容器端口到主机的任意端口或指定端口
expose 暴露端口暴露容器给link到当前容器的容器,或者暴露给同一个networks的容器
volumes 挂载主机卷挂载到容器指定路径中。
volumes_from 挂载从另一个服务或容器挂载它的所有卷。
environment 环境变量设置环境变量。只给定名称的变量会自动获取它在 Compose 主机上的值,可以用来防止泄露不必要的数据。
networks用于设置指定网络,子标签aliases用于设置服务别名,相同的别名可以在不同的网络中拥有不同的别名。
可以在service中使用,也可以在顶级标签中使用
| 命令 | 描述 |
|---|---|
| docker-compose up -d | 构建建启动容器 |
| docker-compose exec bash | 登录到容器中 |
| docker-compose down | 删除所有容器,镜像 |
| docker-compose ps | 显示所有容器 |
| docker-compose restart | 重新启动容器 |
| docker-compose run --no-deps --rm php-fpm php -v | 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器 |
| docker-compose build | 构建镜像 |
| docker-compose build --no-cache | 不带缓存的构建 |
| docker-compose logs | 查看的日志 |
| docker-compose logs -f | 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息 |
| docker-compose pause | 暂停容器 |
| docker-compose unpause | 恢复容器 |
| docker-compose rm | 删除容器(删除前必须关闭容器) |
| docker-compose stop | 停止容器 |
| docker-compose start | 启动容器 |