docker - 将mysql客户端容器连接到mysql服务器容器Docker

标签 docker

我有两个容器

第一个有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/

相关文章:

docker - 无法使用 Registrator 注册 Docker 服务

docker - docker build 会运行两次命令吗?

docker - 如何在 CentOS 7 上安装最新版本的 Docker

node.js - 无法使用 Node.js 连接到我的 Docker RabbitMQ

docker - Docker工具箱卷安装在Windows 10上不起作用

docker - 将 docker 容器从 GITLAB CI 推送到私有(private)存储库

docker - Docker seccomp 配置文件的默认位置是什么?

docker - CORS header 两次响应

mysql - Docker percona (mysql mariadb) 容器在定义卷 (-v) 后在 ubuntu 上运行后停止

linux - HAProxy 使用 Docker 进行简单转发