我有一个使用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容器?
答案 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
客户端命令。