五 dockerFile编写

一 DockerFile命令

1.FROM指令

DockerFile第一条必须为From指令,指定基础镜像

2.MAINTAINER

指定维护者信息

3.RUN

每条run指令在当前基础镜像执行,并且提交新镜像

4.CMD

每个容器只能执行一条CMD命令,多个CMD命令时,只最后一条被执行

5.EXPOSE

暴露镜像的端口到宿主机上,例:EXPOSE 22 80

6.ENV

指定一个环境变量,会被后续 RUN 指令使用,并在容器运行时保持

7.ADD

复制宿主机上指定的文件到容器中指定的目录中 。 其中 可以是Dockerfile所在目录的一个相对路径,还可以是一个tar文件(自动解压为目录)

8.COPY

复制宿主机上的文件到容器中的指定目录下

9.ENTRYPOINT

配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖
每个Dockerfile中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效

10.VOLUME

格式为 VOLUME [“/data”]
创建一个可以从宿主机挂载的挂载点

11.USER

格式为 USER username
指定运行容器时的用户名或UID,后续的 RUN 也会使用指定用户
当服务不需要管理员权限时,可以通过该命令指定运行用户

12.WORKDIR

格式为 WORKDIR /path/to/workdir
为后续的 RUN 、 CMD 、 ENTRYPOINT 指令配置工作目录(类似linux的cd)。
可以使用多个 WORKDIR 指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径

通过Docker Build 创建镜像
-t 可以指定生成镜像的标签,/root/dockerfile为Dockerfile所在的目录

docker build -t 10.243.16.17:5000/centos7.2tomcat:7.8 /root/dockerfile

二 Dockerfile配置解释

# 设置基础镜像
FROM simon/java8:1.0
# 配置容器和宿主机的映射文件夹(docker run中使用 -v 命令类似同样效果)
VOLUME /tmp
# 拷贝宿主机当前Dockerfile文件同级目录的文件及文件夹到容器/usr/local/xy_pay_risk目录
COPY . /usr/local/xy_pay_risk
# 定义变量(docker run中使用 -e 命令可以传参数到Dockerfile里)
ENV JAVA_OPTS=""
ENV ACTIVE=""
# 选择容器内的当前路径 /usr/local/xy_pay_risk
WORKDIR /usr/local/xy_pay_risk
# 启动java程序 后面跟着exec 则后面跟着的java进程的pid=1
ENTRYPOINT exec java ${JAVA_OPTS} -jar /usr/local/xy_pay_risk/xy-pay-risk.jar --spring.profiles.active=${ACTIVE}

三 使用镜像启动容器

#运行命令(映射/usr/local/xy_pay_main整个文件夹) -e(可以传参到Dockerfile里) -v(映射容器与宿主机类似 VOLUME) -d(使用镜像的名字)
#docker run -p 8099:8099 --name xy_pay_risk
#-e JAVA_OPTS='-server -Xmx512m -Xms512m'
#-e ACTIVE="test"
#-v /usr/local/xy_pay_risk:/usr/local/xy_pay_risk
#-v /usr/local/xy_pay_risk/tmp:/tmp
#-d xy-pay-risk:1

#运行命令(只映射几个想要的文件)
#docker run -p 8099:8099 --name xy_pay_risk
#-e JAVA_OPTS='-server -Xmx512m -Xms512m'
#-e ACTIVE="test"
#-v /usr/local/xy_pay_risk/logs:/usr/local/xy_pay_risk/logs
#-v /usr/local/xy_pay_risk/tmp:/tmp
#-d xy-pay-risk:1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值