Dockerfile和docker-compose.yml使用方式(亲测有效)

一、Dockerfile

构建镜像

# 构建镜像运行的基础镜像
FROM openjdk:8-alpine

# docker 镜像创建人
MAINTAINER pys

# 为run、cmd、entrypoint、copy和add 设置工作目录,就是切换目录
WORKDIR /data/five-top/code/java

# 构建镜像时运行的指令,每一个run都会构建一层,所以多个命令时,拼接放在一起执行,
RUN echo "开始构建饿了么system镜像"

# 构建镜像时制定的一些参数,不在容器内部起作用
ARG JAR_FILE_PATH=jeecg-boot-module-system-2.2.0.jar

# 拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
ADD ${JAR_FILE_PATH} /data/five-top/code/java/app.jar

# 拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能,只能在上下文即Dockerfile文件目录及一下复制
#COPY /data/five-top/code/python/*

# 暴露端口
EXPOSE 8081

# 变量属性值,容器内部也会起作用
# ENV

# 定义数据卷,指定容器挂载点到宿主机自动生成的目录或其他容器,这个是容器中的目录,不是宿主机的,宿主机的目录没有办法在这里生成
VOLUME /data/jeecgpys


# 容器启动的命令,如果有多个则以最后一个为准,也可以为ENTRYPOINT提供参数
# CMD [""]

# 容器进入时执行的命令
ENTRYPOINT ["java","-jar","app.jar","&"]

二、docker-compose.yml

编排和启动容器

# docker-compose版本格式
version: '2'
services: 
  # 服务名称
  jeepys: 
    # 指定构建dockerfile 文件路径
    build: .
    # 指定构建镜像版本
    image: "pys:v1"
    # 依赖某个服务
    depends_on:
      - test
    # 容器名称
    container_name: pysproject
    # 映射端口
    ports: 
      - "8041:8081"
    # 数据卷
    volumes:
      - /data/fivetoppys:/data/fivetoppys/container
    # 启动方式
    restart: always
  test:
    # 指定启动镜像
    image: test:v1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小生有礼了哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值