我使用以下命令在docker容器中运行MySQL。
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
我可以理解上面的命令是如何工作的。 我尝试使用以下命令将上面容器中运行的MySQL与另一个docker容器连接起来。
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
我不明白上述命令的运作方式非常清楚。我能理解-it, - link --rm但不知道变量MYSQL_PORT_3306_TCP_ADDR,MYSQL_PORT_3306_TCP_PORT,MYSQL_ENV_MYSQL_ROOT_PASSWORD。
提前感谢您的示范。
答案 0 :(得分:2)
这在https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#environment-variables的旧网络页面上进行了讨论。这些变量是使用--link
在容器内定义的。该命令使用环境变量来确定服务于MySQL的容器的端口和IP地址。
但是,现在您可以创建一个网络并按名称连接到容器。