16 Dockerfile 示例1
centos7 上安装jdk和tomcat
16.1 拉取centos镜像
docker pull centos
16.2 编写Dockerfile文件
FROM centos
MAINTAINER guoguo <woshi@sina.com.com>
#ENV REFRESHED_AT 2019-03-10
#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat
#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
ADD jdk1.8 /usr/jdk/
#将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下
ADD apache-tomcat-8.5.46 /usr/tomcat/
#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
#公开端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]
使用sftp把windows 上jdk和tomcat 上传到虚拟机上,然后进行解压
tar -xvzf jdk-8u221-linux-x64.tar.gz
tar -xvzf apache-tomcat-8.5.46.tar.gz
重命名jdk目录
mv jdk1.8.0_221/ jdk1.8
16.3 构建
docker build -t
起一个名字 .
比如: docker build -t tomcat1:v1 .
# 注意后面有个.
docker images
查看镜像
启动容器看下
docker run -d -p 9999:8080 tomcat1:v1
使用curl localhost:9999
也可查看容器中tomcat日志 : docker logs 容器id或者容器名称
也可进入容器查看安装软件情况 : docker exec -it 容器id或者容器名称 /bin/bash
16.4 推到仓库上
docker tag tomcat1:v1 192.168.10.7:5000/tomcat2:v2
docker push 192.168.10.7:5000/tomcat2:v2
查看仓库情况
curl 192.168.10.7:5000/v2/_catalog
16.5 拉取
docker pull 192.168.10.7:5000/tomcat2:v2
docker images 查看是否pull成功
16.6 运行
docker run -d --name tomcat-test -p 9999:8080 f8fb37fc6d14
curl localhost:9999
打开防火墙等
firewall-cmd --zone=public --add-port=9999/tcp --permanent
firewall-cmd --reload
打开浏览器访问: http://192.168.10.10:9999/