Docker 常见部署方式

一、手工部署 (dockerfile 文件 生成镜像,已sping boot 项目为例)

1.将项目打包成jar包

docker_dome-0.0.1-SNAPSHOT.jar 放在/home 目录下

2.编写dockerfile文件

编写dockerfile文件 文件名:dockerfile.dockerfile,放到目录下

FROM java:8

VOLUME /home

ADD docker_dome-0.0.1-SNAPSHOT.jar elk.jar

EXPOSE 3000

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/elk.jar"]
  • FROM:表示基础镜像,即运行环境

  • VOLUME:/home 工作目录

  • ADD:拷贝文件并且重命名(ADD docker_dome-0.0.1-SNAPSHOT.jar 将应用jar包复制到/elk.jar)

  • EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人员告诉容器布署人员容器应该映射哪个端口给外界

  • ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT

3.liunx 下构建镜像

构建镜像:docker build -t dockerfile . 

查看镜像:docker images

Docker 常见部署方式_第1张图片

4.docker 执行 镜像

运行容器:docker run -di --name dockerdome -p 3000:3000 dockerfile

     其中:

      -d表示后台运行容器,这也就自然地解决的Spring Boot不支持后台运行应用程序的问题。

      -p 8080:8080表示将容器内部的8080端口映射到宿主机器的8080端口,这样就可以通过宿主机器直接访问应用。

      --name 给容器取一个容易记住的名字方便日后管理。

列出执行容器:docker ps

查看日志:docker logs -f --tail=100

Docker 常见部署方式_第2张图片

二、

 

 

你可能感兴趣的:(Docker,学习,docker,项目部署,docker部署)