Chapter 6 综合实践
本次学习参考Datawhale开源地址:https://github.com/datawhalechina/team-learning-program/tree/master/Docker
学习目的
- 学习挂载部署和构建镜像部署两种方式挂载项目(以jar包项目为例)
一、挂载部署
这种方式类似于常规部署,通过数据卷的方式将宿主机的jar包挂载到容器中,然后执行jar包的jdk选择容器中的而非采用本地的。
-
将jar包上传到服务器的指定目录
-
通过docker pull openjdk:8命令获取镜像
-
编写docker-compose.yml文件
-
执行命令docker-compose up –d启动jar包
-
如果容器启动失败或者状态异常,可以通过docker logs查看日志
-
通过docker inspect myopenjdk查看容器详细信息,可以看到容器ip已经设置成功
-
然后在虚拟机中打开浏览器输入jar包项目的访问地址,就可以看到运行的项目,需要注意访问端口是映射过的端口而非项目实际端口
二、构建镜像部署
-
将jar包上传到服务器的指定目录
-
在该目录下创建Dockerfile文件,通过vim等编辑工具在Dockerfile中编辑内容
-
Dockerfile构建完成以后可以通过命令docker build构建镜像,然后再运行容器,这里咱们用docker-compose命令直接编排构建镜像和运行容器。
-
编写docker-compose.yml文件
-
执行docker-compose up –d直接启动基于文件构建的自定义镜像,如果镜像不存在会自动构建,如果已存在那么直接启动。如果想重新构建镜像,则执行docker-compose build。如果想在执行compose文件的时候重构,则执行docker-compose up –d –build
-
在浏览器中输入访问路径就可以看到项目已经正常运行
总结
-两种方法都是采用docker-compose.yml
模板文件来将一组相关联的应用容器定义为一个项目
-第一种方法采用已有镜像容器直接挂载镜像,而第二种是用Dockerfile
构建镜像