mysql dockerfile编写_使用Dockerfile构建Nginx,Tomcat,MySQL镜像

本机IP地址:192.168.10.157

构建mysql镜像时,验证的主机IP;192.168.10.149

构建Nginx镜像

1、下载基础镜像——centos镜像

docker pull centos

2、创建工作目录

mkdir /opt/nginx

cd /opt/nginx/

3、创建并编写Dockerfile文件

vim Dockerfile

FROM centos

MAINTAINER this is nginx image

RUN yum install -y wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel

RUN wget http://nginx.org/download/nginx-1.9.7.tar.gz

RUN tar zxvf nginx-1.9.7.tar.gz

WORKDIR nginx-1.9.7

RUN ./configure --prefix=/usr/local/nginx && make && make install

EXPOSE 80 //http

EXPOSE 443 //https

RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf //关闭守护进程

WORKDIR /opt/nginx

ADD run.sh /run.sh //将宿主机中的run.sh添加到容器中

RUN chmod 755 /run.sh

CMD ["/run.sh"]

4e3d6e117f022794ad575441df3db408.png

4、编写执行脚本内容

vim run.sh

#!/bin/bash

/usr/local/nginx/sbin/nginx

ada506151c2d92cbb0644dede3ef8722.png

5、生成镜像

docker build -t nginx:new .

docker images //查看镜像

b31d4ffd2e5331aff3d625e36e0a7253.png

4f504b371f03c0b658a1b24602017bda.png

6、启动容器进行测试

docker run -d -P nginx:new //启动容器,-p随机指定宿主机端口映射容器中nginx服务相关端口

docker ps -a //查看容器

5a232d606ae673f02a8110da5d76b0ee.png

浏览器输入:http://192.168.10.157:32769/

9592806e9b10c9d0b323d93a2db80195.png

构建Tomcat镜像

1、创建工作目录,将相关软件包解压到工作目录下

mkdir /opt/tomcat //创建工作目录

cp jdk-8u91-linux-x64.tar.gz /opt/tomcat/

cp apache-tomcat-8.5.16.tar.gz /opt/tomcat/ //移动到工作目录

cd /opt/tomcat/

tar zxvf jdk-8u91-linux-x64.tar.gz

tar zxvf apache-tomcat-8.5.16.tar.gz //解压软件包

2、创建Dockerfile文件

vim Dockerfile

FROM centos

MAINTAINER this is tomcat image

ADD jdk1.8.0_91 /usr/local/java

ENV JAVA_HOME /usr/local/java

ENV JAVA_BIN /usr/local/java/bin

ENV JRE_HOME /usr/local/java/jre

ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin

ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar

ADD apache-tomcat-8.5.16 /usr/local/tomcat8

EXPOSE 8080

83c8d9ac8b88e1498a9e74c29ac645a6.png

3、生成镜像

docker build -t tomcat:centos .

696c791ae2d4983d6402400b9684dbc1.png

4、运行容器并验证

docker run --name tomcat01 -p 80:8080 -it tomcat:centos /bin/bash //运行容器,将本地80端口映射到容器的8080端口

[root@643488fd23c4 bin]#cd /usr/local/tomcat8/bin

[root@643488fd23c4 bin]#./startup.sh //容器中启动Tomcat

1ca461d85d306723ddb4d36216e56670.png

浏览器输入:http://192.168.10.157/

1dd6750646a83c3aabcf8014000ebf68.png

构建MySQL镜像

1、下载镜像,建议使用centos6镜像

docker pull guyton/centos6

df253c6b334e30788e0355dce31916be.png

2、创建工作目录

mkdir /opt/mysql

cd /opt/mysql

3、创建Dockerfile文件

vim Dockerfile

FROM guyton/centos6

MAINTAINER this is msyql images

RUN yum install mysql mysql-server

RUN /etc/init.d/mysqld start &&mysql -e "grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘abc123‘;" &&mysql -e "grant all privileges on *.* to ‘root‘@‘localhost‘ identified by ‘abc123‘;" //root在本地,非本地登录时都使用abc123密码

EXPOSE 3306

CMD ["mysqld_safe"]

919043a7732a0819a74976a5788ce5c7.png

4、生成镜像

docker build -t centos6:mysql .

docker images //查看镜像

9da4ae30f6a721c9854112f8740f1bbc.png

5、运行容器并验证

docker run --name=mysqlserver -d -P centos6:mysql //运行容器,随机指定本机端口映射容器mysql的端口

docker ps -a //查看容器

bcfd8cb013ce2be1ae286d019391d438.png

在装有mysql服务的主机上,或者在本机安装mysql服务,登录容器的mysql数据库进行验证

mysql -h 192.168.10.157 -u root -P 32770 -pabc123

535488c2610a96b2e817719e18b138cf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值