写在前面
主题是Multi container apps,这里是链接。本文主要学习使用容器与其他容器的关联。
Container networking
当你的程序需要用到另一个程序怎么办,例如app需要用到mysql。容器内的一切都是单独的,与其他容器不关联,那要怎么与其他容器通信呢,答案是networking。
创建mysql容器
- 创建network
docker network create todo-app
- 启动mysql容器。
-v
是设置volume,volume名为todo-mysql-data
,映射到容器的路径为/var/lib/mysql ,若不存在则自动创建
。-e
是设置mysql的环境遍历。docker run -d \ --network todo-app --network-alias mysql \ -v todo-mysql-data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=secret \ -e MYSQL_DATABASE=todos \ mysql:8.0
- 访问mysql容器,执行
SHOW DATABASES;
,可以看见自动创建了todos
数据库。退出交换可输入exit
docker exec -it