从收件人容器访问源容器

时间:2017-06-12 08:30:59

标签: mysql docker

我有一个使用docker文件

创建的mysql容器
from ubuntu:14.04

run apt-get update && apt-get install -y apt-transport-https

run apt-get install mysql-server -y

run apt-get install mysql-client -y

RUN apt-get update
RUN apt-get install software-properties-common -y
RUN add-apt-repository ppa:webupd8team/java -y
RUN apt-get update
RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
RUN apt-get install oracle-java7-installer -y && \ oracle-java7-set-default

RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf

env set MYSQL_ROOT_PASSWORD=root

EXPOSE 3306

和来自java的java容器:8图像。 java容器使用--link选项链接到mysql容器。

docker run -it --link mysqlc:csql java:8

现在我需要从java容器执行mysql命令,但mysql命令不能在java容器中运行。有什么问题?

我需要启动mysql,从java容器创建数据库?这该怎么做? 我是否需要使用java以外的其他图像来访问mysql容器?

1 个答案:

答案 0 :(得分:0)

一种方法是构建自己的Java映像,其中包含mysql-client,只要Java:

Dockerfile:

FROM Java:8
RUN apt-get update && apt-get install mysql-client

构建

docker build . -t my-java-mysql

执行命令

docker run -it --link mysqlc:csql my-java-mysql:8

然后,您的Java容器中有mysql客户端命令。