Datawhale-Docker学习笔记-0006-Docker 综合

Datawhale-Docker学习笔记-0006-Docker 综合

1. 通过挂载部署项目

假如说,我们现在有一个JAVA已经写好的项目,需要进行部署到服务器。在没有使用容器的情况下,我们正常情况下的步骤应该是,先在服务器上部署各种需要的环境,然后再通过指令运行项目。

但是有了Docker后,我们就有了其他的方法。

第一种就是通过将项目挂载在数据卷上运行。

首先,我们需要将JAR包传输到服务器上。例如:/root/docker/jar/。

然后,我们需要获取一个包含JAVA的镜像。例如:docker pull openjdk:8。

最后,我们可以通过编写docker-compose.yml文件启动项目。

version:'3.0'

services:

  java:
    image: docker.io/openjdk
    restart:always
    container_name: myopenjdk
    ports:
      - 8080:8001
    volumes:
      - /root/docker/jar/xxxx.jar:/root:z
      - /etc/localtime:/etc/localtime
    environment:
      - TZ="Asia/Shanghai"
    entrypoint: java -jar /root/xxxx.jar
    mynetwork:
      ipv4_address: 192.168.1.13

networks:
  mynetwork:
   ipam:
     config:
      - subnet: 192.168.1.0/24

我们可以对compose中的选项进行一些解释:

  • image:是我们选择的镜像,就是刚才拉取的openjdk
  • restart:表示当关机或者重启docker时会一直启动此容器
  • ports:就是我们需要映射的端口,就是主机端口8080->容器端口8001
  • volumes:就是我们挂载的数据卷,第一个是将jar包挂载进来。其中z是用来设置SELinux。
  • environment:设置环境变量
  • entrypoint:是定义容器启动后执行的第一条指令
  • mynetwork:是为容器指定IP地址

然后,我们可以通过 docker compose up -d启动容器。

2. 构建镜像部署

同样的,我们需要将jar包上传到服务器上。例如:/root/docker/jar/xxx.jar。

然后我们需要在上下文中创建dockerfile,来构建镜像。

FROM java:8
ADD xxx.jar
EXPOSE 8001
ENTRYPOINT [“java”,-jar”,”xxxx.jar”]

其中,FROM指定了基础镜像,然后添加xxx.jar包,暴露端口,和执行的第一条指令。

在通过docker build构建镜像后,我们可以直接通过run指令运行容器即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值