Docker学习笔记-Task06综合实践

综合实践

  在没有学docker之前,部署项目都是直接启动文件,比如java项目就是java –jar xxxx.jar的方式,python项目就是python xxxx.py。如果采用docker的方式去部署这些项目,一般有两种方式,以jar包项目为例。

1 方式一:挂载部署

  这种方式类似于常规部署,通过数据卷的方式将宿主机的jar包挂载到容器中,然后执行jar包的jdk选择容器中的而非采用本地的。

1.1 将jar包上传到服务器的指定目录

  将jar包上传到/root/docker/jar目录:
在这里插入图片描述

1.2 通过docker pull openjdk:8命令获取镜像

在这里插入图片描述

1.3 编写docker-compose.yml文件

在这里插入图片描述
  参数解释:
  build指定dockerfile所在文件夹的路径
  context指定dockerfile文件所在路径 dockerfile指定文件的具体名称
  container_name 指定容器名称
  volumes 挂载路径z是用来设置selinux,或者直接在linux通过命令临时关闭或者永久关闭
  ports暴露端口信息
  networks是用来给容器设置固定的ip

1.4 通过docker-compose up –d启动jar包

  可以通过docker ps查看容器是否在运行,需要注意的是默认查看所有运行中的容器,如果想查看所有容器,需要添加参数-a。
在这里插入图片描述

1.5 通过docker logs查看日志

  容器启动失败或者状态异常,可以通过docker logs查看日志。

1.6 通过docker inspect myopenjdk查看容器详细信息

在这里插入图片描述

1.7 在虚拟机查看运行的项目

  在虚拟机中打开浏览器输入jar包项目的访问地址,就可以看到运行的项目,需要注意访问端口是映射过的端口而非项目实际端口。
在这里插入图片描述

2 方式二:构建镜像部署

2.1 将jar包上传到服务器的指定目录

  将jar包上传到/root/docker/jar目录:

2.2 在该目录下创建Dockerfile文件

  通过vim等编辑工具在Dockerfile中编辑以下内容:
  FROM java:8
  MAINTAINER YHF
  LABEL description=”learn docker”
  ADD xxx.jar
  EXPOSE 8001
  ENTRYPOINT [“java”,”-jar”,”xxxx.jar”]
  参数解释:
  FROM java:8指定所创建镜像的基础镜像
  MAINTAINER yhf指定作者为yhf
  LABEL为生成的镜像添加元数据标签信息
  ADD xxxx.jar添加内容到镜像
  EXPOSE 8080声明镜像内服务监听的端口
  ENTRYPOINT指定镜像的默认入口,支持两种格ENTRYPOINT[“java”,”-jar”,”xxxx.jar”];ENTRYPOINT java –jar xxxx.jar。注意每个dokcerfile中只能有一个ENTRYPOINT,如果指定多个只有最后一个生效。

2.3 通过docker build构建镜像

  构建镜像后再运行容器,这里用docker-compose命令直接编排构建镜像和运行容器。

2.4 编写docker-compose.yml文件

在这里插入图片描述

2.5 执行docker-compose up –d启动镜像

  如果镜像不存在会自动构建,如果已存在那么直接启动。如果想重新构建镜像,则执行docker-compose build。如果想在执行compose文件的时候重构,则执行docker-compose up –d –build。
在这里插入图片描述
  通过dockerfile文件构建的镜像已经创建:
在这里插入图片描述
  通过镜像运行的容器已经正常启动,可以通过docker ps查看容器是否在运行,需要注意的是默认查看所有运行中的容器,如果想查看所有容器,需要添加参数-a。
在这里插入图片描述

2.6 在虚拟机查看运行的项目

  在浏览器中输入访问路径可以看到项目已经正常运行。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值