ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

2019-09-18 11:04:33  阅读:215  来源: 互联网

标签:Tomcat nginx MySQL Nginx usr mysql 镜像 docker local


实验环境说明

本机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 <xxy>
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"]

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

4、编写执行脚本内容

vim run.sh

#!/bin/bash
/usr/local/nginx/sbin/nginx

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

5、生成镜像

docker build -t nginx:new .

docker images           //查看镜像

使用Dockerfile构建Nginx,Tomcat,MySQL镜像
使用Dockerfile构建Nginx,Tomcat,MySQL镜像

6、启动容器进行测试

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

docker ps -a      //查看容器   

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

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

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

构建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 <xxy>
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

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

3、生成镜像

docker build -t tomcat:centos .

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

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

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

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

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

构建MySQL镜像

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

docker pull guyton/centos6

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

2、创建工作目录

mkdir /opt/mysql
cd /opt/mysql

3、创建Dockerfile文件

vim Dockerfile

FROM guyton/centos6
MAINTAINER this is msyql images <xxy>
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"]

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

4、生成镜像

docker build -t centos6:mysql .

docker images      //查看镜像

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

5、运行容器并验证

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

docker ps -a    //查看容器

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

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

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

使用Dockerfile构建Nginx,Tomcat,MySQL镜像

©著作权归作者所有:来自51CTO博客作者徐星月月月的原创作品,如需转载,请注明出处,否则将追究法律责任 linux docker 镜像

标签:Tomcat,nginx,MySQL,Nginx,usr,mysql,镜像,docker,local
来源: https://www.cnblogs.com/wuchangsoft/p/11540319.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有