一、公布步骤
- Dockerfile编写
- 制作镜像
- 提交Dockerhub仓库
- 创立容器
- 配置映射端口
- 部署利用包
二、Dockerfile编写
# 基于哪个根底镜像FROM centos:6.8# 构建者的信息MAINTAINER 1441559xxx@qq.com# 拷贝所须要的工具包COPY apache-tomcat-9.0.33 /usr/local/COPY jdk1.8.0_241 /usr/local# 配置java运行环境ENV JAVA_HOME /usr/local/jdk1.8.0_241ENV JRE_HOME $JAVA_HOME/jreENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/libENV PATH $PATH:$JAVA_HOME/bin # 容器启动时命令设置ENTRYPOINT /usr/local/apache-tomcat-9.0.33/bin/startup.sh && tail -f /usr/local/apache-tomcat-9.0.33/logs/catalina.out
三、镜像构建
# 构建镜像docker build -t centos_tomcat:jdk8 .# 查看构建镜像是否存在docker images
四、镜像推送
# 登录dockerhubdocker login# 批改制作好的镜像名字 docker tag centos_tomcat:jdk8 wxktest/cos_tomcat:jdk8# 推送镜像docker push wxktest/cos_tomcat:jdk8# 退出登录docker logout
五、创立容器
# 两种形式创立# 1.仅创立容器docker create -ti --name [容器名称] [镜像] # 2.创立容器并启动容器docker run -ti --name [容器名称] [镜像] -p [容器调配端口]:[宿主机映射端口]
六、配置映射端口
形式一:
应用docker run创立并运行容器,能够通过-p指定端口映射;然而常常会遇到遗记设置端口映射或设置错了须要批改。
形式二:
通过批改容器配置文件的形式来设置容器映射端口容器的配置文件地址: /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json留神:其中的hash_of_the_container是docker镜像的hash值,能够通过docker ps或者docker inspect containername 查看
//批改端口映射信息,vim 容器的配置文件"PortBindings":{"8080/tcp":["HostIp":"","HostPort":"8089"]}// 其中8080/tcp对应的是容器外部的8080端口,tomcat拜访默认端口是8080// HostPort对应的是映射到宿主机的端口8089。
批改文件: /var/lib/docker/containers/[hash_of_the_container]/config.v2.json增加配置项:"ExposedPorts":{"80/tcp":{}} , 将这个配置项增加到 "Tty": true, 批改实现后重启docker服务:systemctl restart docker
七、部署利用包
# 要将所要公布的利用包部署到docker中tomcat的webapp目录# 停掉docker:tomcat-web容器docker stop tomcat-web# 将提前准备好的利用包拷贝到docker容器中cd /home/test_web/test_demo# 拷贝到容器中指定目录docker cp test.war tomcat-web:/usr/local/tomcat/webapps/# 启动docker:tomcat-web容器docker start 3466 -ai