为JBoss创build的Dockerfile与MySQL映像

我是Docker概念中的新成员。 我使用dockerfile为JBoss和MySQL创build了Docker镜像。 我正在尝试创造一个图像的形象。

以下是我的dockerfile

FROM ubuntu:14.04 RUN sudo apt-get update RUN apt-get install wget -y RUN wget https://repo.percona.com/apt/percona-release_0.1-3.$(lsb_release -sc)_all.deb RUN dpkg -i percona-release_0.1-3.$(lsb_release -sc)_all.deb RUN apt-get update RUN sudo apt-get install percona-server-server-5.6 -y #CMD /usr/bin/mysqld_safe CMD ["/usr/bin/mysqld_safe"] RUN sudo apt-get install python-software-properties -y RUN sudo apt-get install software-properties-common -y RUN /usr/bin/yes | sudo add-apt-repository ppa:webupd8team/java RUN sudo apt-get update RUN /usr/bin/yes | sudo apt-get install oracle-java7-installer -y RUN java -version RUN dpkg --get-selections | grep java # enabling sudo group # enabling sudo over ssh RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \ sed -i 's/.*requiretty$/Defaults !requiretty/' /etc/sudoers # add a user for the application, with sudo permissions RUN useradd -m jboss #RUN echo jboss | passwd jboss --stdin RUN echo jboss:jboss | chpasswd RUN usermod -aG sudo jboss RUN wget http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip && sudo apt-get install unzip && sudo unzip jboss-as-7.1.1.Final.zip RUN mv jboss-as-7.1.1.Final /opt/jboss && cd /opt/jboss/bin # set environment ENV JBOSS_HOME /opt/jboss # create JBoss console user #RUN $JBOSS_HOME/bin/add-user.sh admin admin@2016 --silent RUN $JBOSS_HOME/bin/add-user.sh --silent=true admin admin@2016 # configure JBoss RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0\"" >> $JBOSS_HOME/bin/standalone.conf # set permission folder RUN chown -R jboss:jboss /opt/jboss # JBoss ports EXPOSE 8080 9990 9999 3306 # start JBoss ENTRYPOINT $JBOSS_HOME/bin/standalone.sh -c standalone-full-ha.xml # deploy app ADD sample.war "$JBOSS_HOME/standalone/deployments/" USER jboss CMD /bin/bash 

其实只有jboss工作正常。 将mysql安装命令添加到dockerfile后。 mysql没有在容器中启动。但手动我能够启动mysql服务,我能够进入容器使用Bash shell和检查服务,并注意到,JBoss端口是起来,但不是MySQL端口。 我不理解如何在构build映像时在容器中启动mysql服务。

 below are the my commands docker build -t jbosstest1:devel . docker run -p 8082:8080 -p 9992:9990 -p 3308:3306 jbosstest1:devel root@docker:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a95fd7f20036 jbosstest1:devel "/bin/sh -c '$JBOSS_H" 6 seconds ago Up 5 seconds 9999/tcp, 0.0.0.0:3308->3306/tcp, 0.0.0.0:8082->8080/tcp, 0.0.0.0:9992->9990/tcp mad_kilby root@docker:~# docker exec -it a95fd7f20036 bash root@a95fd7f20036:/# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:4447 0.0.0.0:* LISTEN 53/java tcp 0 0 0.0.0.0:5445 0.0.0.0:* LISTEN 53/java tcp 0 0 0.0.0.0:9990 0.0.0.0:* LISTEN 53/java tcp 0 0 127.0.0.1:3528 0.0.0.0:* LISTEN 53/java tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 53/java tcp 0 0 0.0.0.0:5455 0.0.0.0:* LISTEN 53/java tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 53/java tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 53/java udp 0 0 224.0.1.105:23364 0.0.0.0:* 53/java udp 0 0 0.0.0.0:57924 0.0.0.0:* 53/java udp 0 0 0.0.0.0:9876 0.0.0.0:* 53/java 

MySQL端口没有启动,导出的端口列在我的机器上(8082,9992和3308)。 任何人都可以向我解释如何使用dockerfile启动MySQL服务和JBoss服务器? 我想用JBoss和MySQL来构build我的Docker镜像。