前言
DockerCompose学习笔记
下载依赖
Debian
1
| apt install docker-compose
|
定义配置文件版本
配置容器
配置镜像
通过DockerHub下载
1 2 3
| services: <service_name>: image: <image_name>:<tag>
|
1 2 3
| services: <service_name>: image: registry.hub.docker.com/<image_name>:<tag>
|
通过Github下载
1 2 3
| services: <service_name>: image: ghcr.io/<image_name>:<branch>
|
通过Dockerfile手动编译
1 2 3
| services: <service_name>: build: .
|
配置容器名
1 2 3 4
| services: <service_name>: image: <image_name>:<tag> container_name: <container_name>
|
配置环境变量
1 2 3 4 5
| services: <service_name>: image: <image_name>:<tag> environment: - <key>=<value>
|
配置数据卷映射
1 2 3 4 5
| services: <service_name>: image: <image_name>:<tag> volumes: - <src_out>:<src_in>
|
配置端口映射
1 2 3 4 5
| services: <service_name>: image: <image_name>:<tag> ports: - <port_out>:<port_in>
|
配置日志
1 2 3 4 5 6 7 8
| services: <service_name>: image: <image_name>:<tag> logging: driver: "json-file" options: max-size: "1000k" max-file: "20"
|
配置被链接的容器
- 被链接的容器可以通过容器名和端口号的方式被当前容器访问
1 2 3 4 5 6 7 8 9
| services: <service_name>: image: <image_name>:<tag> environment: - <key>=<service_name2>:<port> links: - <service_name2> <service_name2>: image: <image_name>:<tag>
|
配置被依赖的容器
1 2 3 4 5 6 7
| services: <service_name>: image: <image_name>:<tag> depends_on: - <service_name2> <service_name2>: image: <image_name>:<tag>
|
配置网络
配置新创建的网络
<network_type>:网络类型
bridge
host
none
macvlan
1 2 3 4 5 6 7 8 9
| networks: <network_name>: driver: <network_type>
services: <service_name>: image: <image_name>:<tag> networks: - <network_name>
|
配置已存在的网络
1 2 3 4 5 6 7 8 9 10
| networks: <network_name>: external: true
services: <service_name>: image: <image_name>:<tag> networks: <network_name>: ipv4_address: <ip>
|
启用特权模式
1 2 3 4
| services: <service_name>: image: <image_name>:<tag> privileged: true
|
完成
参考文献
CSDN——叽米
CSDN——WEL测试
CSDN——gold0523
CSDN——Kiloveyousmile
CSDN——九亿少女的梦@