「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战」。
4. docker-compose.yml
当我们有多个容器需要启动的时候,我们可以用docker-compose.yml进行容器的管理
因为我们生成中一般不会一个一个容器启动,我们会编写docker-compose文件去编写我们的文件。 前提我们要已经编写完我们当前项目的Dockerfile。
ports 是进行端口的映射 depends_on 是启动的顺序,因为有的项目有依赖的启动顺序。 volumes 是进行数据的映射,就是将宿主机和容器文件进行映射。 build 是根目录下所有的文件进行build
version: '2'
services:
civil:
build: ./
image: mall:2.0
container_name: mall
restart: always
environment:
MYSQL_DSN: "root:root@tcp/mall_db?charset=utf8&parseTime=True&loc=Local"
ports:
- 3000:3000
depends_on:
- mysql
- redis
mysql:
container_name: mysql
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mall_db
volumes:
- /var/lib/mysql:/var/lib/mysql
ports:
- 3306:3306
redis:
container_name: redis
image: redis:latest
restart: always
volumes:
- /usr/local/redis:/usr/local/redis
ports:
- 6379:6379
使用
docker-compose -f docker-compose.yml up -d
启动运行截图
都启动成功了
再进行测试
成功即可!
最后
在此非常感谢运维大佬 愿许浪尽天涯 的帮助,帮我排查了镜像的问题!
Dockerfile文件我本来是写FROM scratch的,但是好像没有执行成功,才换成了busybox镜像
大家有什么问题也可以问这位运维大佬! 愿许浪尽天涯