我有两个容器
第一个有mysql服务器
mysql服务器的Docker文件
FROM ubuntu:14.04
RUN apt-get -y install mysql-server
RUN service mysql start && \
sleep 5s && \
mysql -e "GRANT ALL ON *.* to 'root'@'%'; FLUSH PRIVILEGES"
EXPOSE 3306
CMD ["/usr/bin/mysqld_safe"]
mysql-client的第二个容器
FROM ubuntu:14.04
RUN apt-get -y install mysql-client
现在我运行第一个容器
docker run -t -i --name mysql 945bd6cace51
现在第二个容器
docker run -t -i --link mysql:mysqla 5e6d401ee4c8
使用--link将mysql客户端容器连接到mysql服务器容器
现在在mysql客户端容器中,我正在使用此命令
mysql -h $ MYSQL_PORT_3306_TCP_ADDR
但它不起作用,它向我显示此错误
mysql: option '-h' requires an argument
我做错了什么?
最佳答案
如果使用docker-compose.yml文件就很好
version: "3.0"
services:
web:
build:
context: ../
dockerfile: docker/Dockerfile
links:
- db
ports:
- "8011:80"
volumes:
- ../:/var/www
- ../docker/apache2/sites-available:/etc/apache2/sites-available/
- ../docker/apache2/sites-enabled:/etc/apache2/sites-enabled/
- ../docker/db:/root/
container_name: web
db:
image: mysql:5.7.22
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=root
volumes:
- ../docker/db:/var/lib/mysql
在这里,我们有links:
键,用于将mysql服务器连接到任何其他容器。
关于docker - 将mysql客户端容器连接到mysql服务器容器Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130542/