“道常无为,而无不为。
侯王若能守之,万物将自化。
化而欲作,吾将镇之以无名之朴。
无名之朴,夫亦将不欲。
不欲以静,天下将自定。”1
docker-compose-yml编写规范
本文不做docker的普及。
在使用docker安装第三方应用或自研服务的时候,不建议使用docker run ...的方式,取而代之的是使用编写相对应的docker-compose.yml文件,从而使用docker-compose ...的方式对容器进行简易且优雅的编排。
然而不规范的编写,也是十分可怕的,我认为从以下四个方面可以整体的把握docker-compose.yml的配置书写,下面以mysql的docker-compose.yml为例进行简单说明:
1 | version: '2' |
2 | services: |
3 | mysql-ddsh: |
4 | image: mysql:5.6 |
5 | network_mode: "host" |
6 | ports: |
7 | - "3336:3336" |
8 | restart: always |
9 | volumes: |
10 | - "./db:/var/lib/mysql" |
11 | - "./my.cnf:/etc/my.cnf" |
12 | environment: |
13 | MYSQL_ROOT_PASSWORD: ForAlliance5689 |
14 | TZ: Asia/Shanghai |
映射端口配
1 | ports: |
2 | - "3336:3336" //宿主机端口:容器内端口 |
挂载配置文件和数据存储路径
1 | volumes: |
2 | - "./db:/var/lib/mysql" //挂载数据存储路径 |
3 | - "./my.cnf:/etc/my.cnf" //挂载配置文件 |
设置随宿主机自动重启
1 | restart: always //随宿主机重启 |
时区配置
1 | TZ: Asia/Shanghai //配置时区 |
但凡以粗暴的方式写完docker-compose.yml之后,回头检查以下上边四个地方的配置,大体上都不会出问题。
1:老子《道德经》第三十七章,老子故里,中国鹿邑。