一、发布步骤
- 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。