11-DockerFile

构建步骤:
1、编写一个dockerfile文件
2、docker build构建成为一个镜像
3、docker run运行镜像
4、docker push发布镜像(dockerHub、阿里云镜像仓库)

#dockerfile常用指令
FROM        #基础镜像
MAINTAINER  #镜像是谁写的 eg:姓名+邮箱
RUN         #镜像构建的时候需要运行的命令
ADD         #添加内容  tomcat压缩包
WORKDIR     #镜像的工作目录
VOLUME      #挂载卷
EXPOST      #暴露端口,跟-p一个原理
CMD         #容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #容器启动的时候要运行的命令,可以追加命令
ONBILED    #当构建一个被继承dockerfile 这个时候就会触发onbuild指令
COPY       #类似ADD命令,将文件拷贝到镜像中
ENV        #构建的时候设置环境变量
[root@iZuf6bqi9d493xdldgnd5eZ ~]# cat dockerfile 
FROM centos
MAINTAINER jidu<18538053728@163.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "----end----"
CMD /bin/bash
#构建mycentos镜像
[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker build -f dockerfile -t mycentos:1.0 .
[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED              SIZE
mycentos      1.0       df2eeba64bd5   About a minute ago   291MB
hello-world   latest    d1165f221234   2 months ago         13.3kB
centos        latest    300e315adb2f   5 months ago         209MB
[root@iZuf6bqi9d493xdldgnd5eZ ~]# 
#运行新构建的容器
[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker run -it df2eeba64bd5 bash
#默认进入工作目录
[root@acc0f1fad8ca local]# 

#CMD和ENTRYPOINT的区别
CMD #容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #容器启动的时候要运行的命令,可以追加命令

#CMD
[root@iZuf6bqi9d493xdldgnd5eZ ~]# cat dockerfile
FROM centos
CMD ["ls","-a"]

[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker build -f dockerfile -t mycentos1.3 .
Successfully built f6f206201895
Successfully tagged mycentos1.3:latest
[root@iZuf6bqi9d493xdldgnd5eZ ~]# 
[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker run f6f206201895 -l
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "-l": executable file not found in $PATH: unknown.
[root@iZuf6bqi9d493xdldgnd5eZ ~]# 
#ENTRYPOINT
[root@iZuf6bqi9d493xdldgnd5eZ ~]# cat dockerfile
FROM centos
MAINTAINER jidu<18538053728@163.com>
ENTRYPOINT ["ls","-a"]

[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker build -f dockerfile -t mycentos:1.2 .
[root@iZuf6bqi9d493xdldgnd5eZ ~]# docker run c07148370383 -l
drwxr-xr-x   1 root root 4096 May 21 14:48 etc
drwxr-xr-x   2 root root 4096 Nov  3  2020 home

#镜像原理

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值