使用Dockerfile构建镜像(Nginx,Tomcat,MySQL)
centos下Dockerfile创建nginx镜像并生成容器1.下载基础镜像,创建目录及文件# docker pull centos# mkdir /opt/nginx# cd /opt/nginx/2.编辑 Dockerfile# vi DockerfileFROM centosMAINTAINER virtueRUN yum install -y wget proc-...
·
使用Dockerfile构建镜像(Nginx,Tomcat,MySQL)
构建Nginx镜像
1.下载基础镜像,创建目录及文件
# docker pull centos
# mkdir /opt/nginx
# cd /opt/nginx/
2.编辑 Dockerfile
# vi Dockerfile
FROM centos
MAINTAINER virtue
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"]
:wq
3.编辑 run.sh
# vi run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx
:wq
5.生成镜像
# docker build -t nginx:centos .
6.启动容器进行测试
# docker run -d -P nginx:centos //启动容器,-P 随机指定宿主机端口映射容器中nginx服务相关端口
# docker ps -a //查看容器
7.进入容器
# docker exec -it xxx /bin/bash //xxx :容器名
8.检查
构建Tomcat镜像
一般我习惯在根目录下新建一个 soft 的文件夹,所有上传的文档都会放在这个文件夹下,方便记忆,也可以做个备份。
1、创建工作目录,将相关软件包解压到工作目录下
# mkdir /opt/tomcat //创建工作目录
# cp jdk-8u201-linux-x64.tar.gz /opt/tomcat/
# cp apache-tomcat-8.5.42.zip /opt/tomcat/ //移动到工作目录
# cd /opt/tomcat/
# tar zxvf jdk-8u201-linux-x64.tar.gz
# unzip apache-tomcat-8.5.42.zip //解压软件包
若提示未找到命令,先安装 unzip 。
2、创建Dockerfile文件
# vim Dockerfile
FROM centos
MAINTAINER virtue
ADD jdk1.8.0_201 /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.42 /usr/local/tomcat8
EXPOSE 8080
:wq
3、生成镜像
# docker build -t tomcat:centos .
4、运行容器并验证
# docker run --name tomcat01 -p 8081:8080 -it tomcat:centos /bin/bash //运行容器,将本地8081端口映射到容器的8080端口
[root@ad4b5b11f1ef /]#cd /usr/local/tomcat8/bin
[root@ad4b5b11f1ef bin]#./startup.sh //容器中启动Tomcat
若提示拒绝访问,赋权即可。
浏览器输入:http://192.168.0.244:8081/
构建MySQL镜像
1、下载镜像
# docker pull centos
2、创建工作目录
# mkdir /opt/mysql
# cd /opt/mysql/
3、创建Dockerfile文件
# vim Dockerfile
FROM centos
MAINTAINER virtue
RUN yum install -y 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"]
:wq
更多推荐
已为社区贡献2条内容
所有评论(0)