计算机系统应用教程网站

网站首页 > 技术文章 正文

dockerfile dockerfile workdir

btikc 2024-09-27 01:13:14 技术文章 5 ℃ 0 评论

dockerfile就是重来构建docker镜像的构建文件

以下这张图片上的命令就是dockerfile的使用最多的命令了

a. 编写dockerfile文件
b.docker build //构建新的镜像
c.docker run //以新的镜像为模板,实例化运行容器

a.每条保留字指令都必须为大写的字母,且后面跟随至少一个参数
b.指令按照从上到下的顺序执行
c.#表示注释
d.每条指令都会创建一个新的镜像层,并对镜像进行提交

举例说明
FROM centos

VOLUME [“volume01”,“volume02”]
CMD echo "-----end-----"
CMD /bin/bash
[root@localhost ~]# docker build -f dockerfile -t centos:1.0 .
Sending build context to Docker daemon  18.94kB
Step 1/4 : FROM centos
 ---> 5d0da3dc9764
Step 2/4 : VOLUME [“volume01”,“volume02”]
 ---> Running in 0e396517ae62
Removing intermediate container 0e396517ae62
 ---> 99fafc431c31
Step 3/4 : CMD echo "-----end-----"
 ---> Running in 48be0e5fd3d5
Removing intermediate container 48be0e5fd3d5
 ---> 1fb568a3fa7a
Step 4/4 : CMD /bin/bash
 ---> Running in 87c3ee402f62
Removing intermediate container 87c3ee402f62
 ---> 2e2eb60ef2e7
Successfully built 2e2eb60ef2e7
Successfully tagged centos:1.0
可以看到docker在一步一步的,一层一层的构建镜像
[root@localhost ~]# docker run -it -P centos:1.0  /bin/bash
[root@bogon ~]# docker inspect 867f0eaf44ed
[
   },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "b8f0c3891c70607cbe50c3555d78540b3a88c4d47c7d641f28096c83b4e7f696",
                "Source": "/var/lib/docker/volumes/b8f0c3891c70607cbe50c3555d78540b3a88c4d47c7d641f28096c83b4e7f696/_data",
                "Destination": "[“volume01”,“volume02”]",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
在这里你可以看到刚刚挂载的卷
顺便看一下是匿名挂载
[root@bogon ~]# docker volume ls
DRIVER    VOLUME NAME
local     8370fa2883e7622fd7c6ea50a80652d8a03051fb82105528e333b575dff5c4c5
local     b8f0c3891c70607cbe50c3555d78540b3a88c4d47c7d641f28096c83b4e7f696
local     juming-nginx

常用的一些dockerfile命令

命令 效果
FROM 基础镜像:Centos/Ubuntu
MAINTAINER 镜像作者+邮箱
RUN 镜像构建的时候需要运行的命令
ADD 为镜像添加内容(压缩包)
WORKDIR 镜像工作目录(进入容器时的目录)
VOLUME 挂载的目录
EXPOSE 暴露端口配置
CMD/ENTRYPOINT 指定这个容器启动时要运行的命令(CMD替代先前命令,ENTRYPOINT在先前命令后追加)
COPY 类似于ADD,将文件拷贝到镜像中
ENV 构建时设置环境变量

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表