Dockerfile的使用

Dockerfile内容为如下,先简单说明下:

FROM openjdk:8  #拉取ngxin的openjdk:8镜像
VOLUME /tmp  # 挂载点
EXPOSE 8761  # 暴露端口,指定容器在运行时 监听的端口和协议,如 8761/tcp 或 8761/udp。 不指定默认是tcp
ADD ./target/spring.boot.webflux.ms.eureka-0.0.1-SNAPSHOT.jar ms.eureka.jar  # add相当于copy from to
ENTRYPOINT ["java","-jar","/ms.eureka.jar"]   # 容器启动后执行的命令

Dockerfile

FROM 启动Dockerfile 要求Dockerfile必须以FROM命令开头。图像是分层创建的,这意味着您可以将其他图像用作自己的基础图像。该FROM命令定义您的基础层。作为参数,它采用图像的名称。(可选)您可以添加维护者的Docker Cloud用户名和映像版本,格式为username/imagename:version。

RUN 用于构建您要创建的图像。对于每个RUN命令,Docker将运行该命令,然后创建映像的新层。这样,您可以轻松地将图像回滚到以前的状态。RUN指令的语法是将shell命令的全文放在RUN(例如RUN mkdir /user/local/foo)之后。这将自动在/bin/sh外壳中运行。您可以这样定义一个不同的shell:RUN /bin/bash -c ‘mkdir /user/local/foo’

COPY 将本地文件复制到容器中。

CMD 定义在启动时将在Image上运行的命令。与相比RUN,这不会为Image创建新的图层,而只是运行命令。CMD每个Dockerfile /映像只能有一个。如果需要运行多个命令,最好的方法是CMD运行脚本。CMD要求您告诉它在哪里运行命令,这与不同RUN。因此,示例CMD命令为:

CMD ["python", "./app.py"]
CMD ["/bin/bash", "echo", "Hello World"]

EXPOSE 为图像用户创建一个提示,指出哪些端口提供服务。它包含在可以通过检索的信息中$ docker inspect 。
注意:该EXPOSE命令实际上并没有使主机可以访问任何端口!相反,-p在使用时,这需要通过标志发布端口$ docker run。

PUSH 将您的映像推送到Docker Cloud或替代地推送到私有注册表

MAINTAINER 设置维护人员名字,其实相当于个备注:

MAINTAINER chushiyun  # 用法为  MAINTAINER <name>

官网指定的github文档地址:
https://github.com/docker/labs/blob/master/beginner/chapters/webapps.md#235-dockerfile-commands-summary

Dockerfile官网文档:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Dockerfile官网练习文档(用例子说明用法):
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值