使用Dockerfile构建镜像(Nginx,Tomcat,MySQL)
2019-06-26 09:19
771 查看
使用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 mysq 7ff7 l 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
相关文章推荐
- 使用dockerfile构建nginx镜像
- 使用dockerfile构建nginx镜像的方法示例
- 使用Dockerfile文件构建基于centOS系统的tomcat镜像
- Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- 使用Dockerfile构建镜像-Docker for Web Developers(5)
- 利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置
- 脉冲云[编译构建]服务----使用Dockerfile文件,在线构建Dcoker镜像
- 【系列3】使用Dockerfile创建yum安装nginx服务的Centos Docker镜像
- 使用 DockerFile 构建镜像遇到"docker build" requires exactly 1 argument(s). See 'docker build --help'.的问题
- 群晖Docker通过Dockerfile构建镜像 部署Tomcat
- 如何使用Dockerfile构建镜像
- 【系列3】使用Dockerfile创建带编译安装nginx服务的Centos Docker镜像
- Docker学习 -- 使用Docker 的Dockerfile构建tomcat容器,在线部署web项目
- 3 使用 Dockerfile 实现 自动化构建(创建) 镜像
- dockerfile构建nginx镜像
- 【Dockerfile】使用Dockerfile创建带nginx服务的Centos Docker镜像
- Docker学习笔记(3)-- 如何使用Dockerfile构建镜像
- Docker使用Dockerfile构建微服务发现镜像实例