将networking服务器容器连接到MySQL容器
我正在学习docker,我创build了一个持久数据库使用卷的MySQL容器,我想在docker-compose up --build
过程中从Web容器连接到MySQL容器。
问题是在此期间连接总是失败。 一切完成后,我只能访问MySQL容器。
下面的build/web-server/docker-compose.yml
文件中的RUN mysql -uroot -pmy-root-password -hdatabase
总是失败。
我怎样才能做到这一点?
泊坞窗,compose.yml
version: '3' services: database: container_name: kadu-database build: context: build/database dockerfile: Dockerfile web-server: container_name: kadu-web-server links: - database depends_on: - database build: context: build/web-server dockerfile: Dockerfile
build/数据库/泊坞窗,compose.yml
FROM mariadb:5.5 ARG MYSQL_DATABASE ARG MYSQL_ROOT_PASSWORD RUN apt-get update RUN apt-get install patch --assume-yes
build设/ Web服务器/泊坞窗,compose.yml
FROM ubuntu:16.04 ARG WEB_USERNAME ARG MYSQL_DATABASE ARG MYSQL_ROOT_PASSWORD RUN apt-get update --quiet=2 && apt-get install mariadb-client --quiet=2 RUN mysql -uroot -pmy-root-password -hdatabase
使用docker包括两个步骤:
- build立一个形象
- 根据图像创build容器并运行该容器
关键是你的mysql client
只能在第二步连接到服务器。
Dockerfile
“执行”,而你build立的形象。 在这个时候你没有任何容器,所以你不能连接到它们。 您需要将RUN mysql -uroot -pmy-root-password -hdatabase
Dockerfile
移至entrypoint.sh
- Docker,PHP和Python
- Docker for windows10运行django失败:无法打开文件'manage.py':没有这样的文件或目录
- 无法访问另一个泊坞窗容器中的本地进程
- 如何为sqlserver2012创build一个docker镜像
- Docker的私人registry与多个registryurl使用nginx
- Docker在端口3306组成mysql可达
- 创build一个docker-mongo + memcache + ES的PHP驱动程序
- Docker Swarm on Azure:正确使用docker4x / logger-azure
- 没有IP地址连接Docker工具箱 – Mac OX高山