我有两个容器
第一个有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的第二个容器< / p>
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:选项'-h'需要参数
我做错了什么?
答案 0 :(得分:0)
如果使用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服务器连接到任何其他容器。