一、公布步骤
- 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
发表回复