从收件人容器访问源容器
我有一个使用docker文件创build的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:8映像的java容器。 java容器使用–link选项链接到mysql容器。
docker run -it --link mysqlc:csql java:8
现在我需要从java容器执行mysql命令,但mysql命令不能在java容器中工作。 问题是什么?
我需要启动MySQL,从Java容器创build数据库? 这个怎么做? 我需要使用其他图像而不是Java来访问MySQL容器?
一种方法是构build自己的Java图像,只要Java包含mysql-client:
Dockerfile:
FROM Java:8 RUN apt-get update && apt-get install mysql-client
build立:
docker build . -t my-java-mysql
跑:
docker run -it --link mysqlc:csql my-java-mysql:8
然后你的Java容器中有mysql
客户端命令可用。