> 如果两个容器在同一个网络上,它们可以相互通信。如果他们不是,他们就不能。
MySQL容器
# 创建网络
docker network create todo-app
# 启动Mysql5.7容器
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:5.7
# 您会注意到我们使用了一个名为todo-mysql-datahere 的卷并将其安装/var/lib/mysql在 MySQL 存储其数据的位置。但是,我们从未运行过docker volume create命令。Docker 认识到我们想要使用一个命名卷并自动为我们创建一个。
# 连接到MySQL容器的命令行程序
docker exec -it <mysql-container-id> mysql -u root -p
应用容器
# 启动应用程序
docker run -dp 3000:3000 /
-w /app -v "$(pwd):/app" /
--network todo-app /
-e MYSQL_HOST=mysql /
-e MYSQL_USER=root /
-e MYSQL_PASSWORD=secret /
-e MYSQL_DB=todos /
node:12-alpine /
sh -c "yarn install && yarn run dev"
参考:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/278825.html