一、公布步骤
- 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_241
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
ENV 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
四、镜像推送
# 登录 dockerhub
docker 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