乐趣区

关于docker:Dockerweb项目部署

一、公布步骤

  • 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
退出移动版