首页 > 其他分享 >初识dockerfile

初识dockerfile

时间:2024-05-29 21:44:16浏览次数:24  
标签:ago dockerfile 初识 0.0 xr docker root localhost

 

dockerfile就是用来构建docker镜像的构建文件!命令脚本!先体验一下!通过这个脚本可以生成镜像,镜像是一层一层,脚本一个个的命令,每个命令都是一层!

#创建一个dockerfile文件,名字可以随机,建议dockerfile

#文件中的内容 指令(大写) 参数

[root@localhost home]# mkdir docker-test-volume
[root@localhost home]# ls
docker-test-volume  
[root@localhost home]# vim dockerfile1
[root@localhost home]# ls
dockerfile1  docker-test-volume  
[root@localhost docker-test-volume]# vim  dockerfile1 
FROM centos

VOLUME  ["volume01","volume02"]

CMD echo "----end----"
CMD /bin/bash

#这里的每个命令就是镜像的一层!

这里为匿名挂载。

生成

[root@localhost docker-test-volume]# docker build -f /home/docker-test-volume/dockhome/docker-test-volume/dockerfile1 -t yyds/centos .
[+] Building 27.7s (5/5) FINISHED      docker:default
 => [internal] load build definition from docke  0.0s
 => => transferring dockerfile: 180B             0.0s
 => [internal] load metadata for docker.io/lib  21.3s
 => [internal] load .dockerignore                0.0s
 => => transferring context: 2B                  0.0s
 => [1/1] FROM docker.io/library/centos:latest@  6.3s
 => => resolve docker.io/library/centos:latest@  0.0s
 => => sha256:a27fd8080b517143cbbba 762B / 762B  0.0s
 => => sha256:a1801b843b1bfaf77c501 529B / 529B  0.0s
 => => sha256:5d0da3dc976460b72 2.14kB / 2.14kB  0.0s
 => => sha256:a1d0c7532777641 83.52MB / 83.52MB  2.0s
 => => extracting sha256:a1d0c75327776413fa0db9  4.1s
 => exporting to image                           0.0s
 => => exporting layers                          0.0s
 => => writing image sha256:88a327c6cfeef6087c8  0.0s
 => => naming to docker.io/yyds/centos           0.0s
[root@localhost docker-test-volume]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
nginx         latest    605c77e624dd   2 years ago   141MB
tomcat        latest    fb5657adc892   2 years ago   680MB
mysql         latest    3218b38490ce   2 years ago   516MB
yyds/centos   latest    88a327c6cfee   2 years ago   231MB

运行

[root@localhost docker-test-volume]# docker run -it 88a327c6cfee /bin/bash

 

查看

[root@a265576654eb /]# ls   
bin  home   lost+found    opt   run   sys  var
dev  lib    media    proc  sbin  tmp  volume01
etc  lib64  mnt        root  srv   usr  volume02


[root@a265576654eb /]# ls  -l
total 4
lrwxrwxrwx.   1 root root    7 Nov  3  2020 bin -> usr/bin
drwxr-xr-x.   5 root root  360 May 29 12:56 dev
drwxr-xr-x.   1 root root   66 May 29 12:56 etc
drwxr-xr-x.   2 root root    6 Nov  3  2020 home
lrwxrwxrwx.   1 root root    7 Nov  3  2020 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Nov  3  2020 lib64 -> usr/lib64
drwx------.   2 root root    6 Sep 15  2021 lost+found
drwxr-xr-x.   2 root root    6 Nov  3  2020 media
drwxr-xr-x.   2 root root    6 Nov  3  2020 mnt
drwxr-xr-x.   2 root root    6 Nov  3  2020 opt
dr-xr-xr-x. 338 root root    0 May 29 12:56 proc
dr-xr-x---.   2 root root  162 Sep 15  2021 root
drwxr-xr-x.  11 root root  163 Sep 15  2021 run
lrwxrwxrwx.   1 root root    8 Nov  3  2020 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Nov  3  2020 srv
dr-xr-xr-x.  13 root root    0 May 28 00:39 sys
drwxrwxrwt.   7 root root  171 Sep 15  2021 tmp
drwxr-xr-x.  12 root root  144 Sep 15  2021 usr
drwxr-xr-x.  20 root root 4096 Sep 15  2021 var
drwxr-xr-x.   2 root root    6 May 29 12:56 volume01
drwxr-xr-x.   2 root root    6 May 29 12:56 volume02

volume01、volume02就是生成镜像时自动挂载的,数据卷目录。

这个卷和外部有同步的目录!


进入volume01并创建一个文件

[root@a265576654eb /]# cd volume01
[root@a265576654eb volume01]# ls
[root@a265576654eb volume01]# touch a.txt
[root@a265576654eb volume01]# ls
a.txt

查看挂载卷的路径

[root@localhost ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
nginx         latest    605c77e624dd   2 years ago   141MB
tomcat        latest    fb5657adc892   2 years ago   680MB
mysql         latest    3218b38490ce   2 years ago   516MB
yyds/centos   latest    88a327c6cfee   2 years ago   231MB
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS         PORTS                                         NAMES
a265576654eb   88a327c6cfee   "/bin/bash"              10 minutes ago   Up 9 minutes                                                 cool_khayyam
29ce6c98f7d7   nginx          "/docker-entrypoint.…"   2 hours ago      Up 2 hours     0.0.0.0:32772->80/tcp, :::32772->80/tcp       nginx101
61610fa8beb6   tomcat         "catalina.sh run"        3 hours ago      Up 3 hours     0.0.0.0:32771->8080/tcp, :::32771->8080/tcp   tomcat1
2810762e1a50   nginx          "/docker-entrypoint.…"   3 hours ago      Up 3 hours     0.0.0.0:32770->80/tcp, :::32770->80/tcp       nginx10
5ed947898abd   nginx          "/docker-entrypoint.…"   3 hours ago      Up 3 hours     0.0.0.0:32769->80/tcp, :::32769->80/tcp       nginx01
[root@localhost ~]# docker inspect a265576654eb
[
        "Mounts": [
            {
                "Type": "volume",
                "Name": "ac907dd1bc239d5b88725dfb9337617d0710fef66079283e6fb9f4b76e81c5e4",
                "Source": "/var/lib/docker/volumes/ac907dd1bc239d5b88725dfb9337617d0710fef66079283e6fb9f4b76e81c5e4/_data",
                "Destination": "volume01",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "a63f236eae94b62e3a9c281e69c07af5f022369d94ec866e8051a8775af7b7ce",
                "Source": "/var/lib/docker/volumes/a63f236eae94b62e3a9c281e69c07af5f022369d94ec866e8051a8775af7b7ce/_data",
                "Destination": "volume02",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ]
]

测试查看同步目录下的文件

[root@localhost ~]# cd /var/lib/docker/volumes/ac907dd1bc239d5b88725dfb9337617d0710fef66079283e6fb9f4b76e81c5e4/_data
[root@localhost _data]# ls
a.txt

 

标签:ago,dockerfile,初识,0.0,xr,docker,root,localhost
From: https://www.cnblogs.com/muxinq/p/18221134

相关文章

  • Dockerfile - 参数与详解
    只有FROM时必须的#在当前路径下构建test镜像,执行Dockerfile文件dockerbuild-ttest.1.FROM制定基于那个镜像进行构建FROMalpine:latest2.WORKDIR指定工作目录,执行shell脚本的工作目录WORKDIR/app3.COPYADD复制文件,将宿主机文件拷贝到镜像中ADD可以是网络资......
  • Git初识-常用命令
    commandsconfiggitconfig--localuser.name"<user-name>"#配置本地(当前项目)的用户名gitconfig--localuser.email"<user-email>"#配置本地(当前项目)的用户邮箱gitconfig--globaluser.name"<user-name>"#配置全局的用户名gitconfig......
  • 使用Dockerfile部署go项目
    主旨就是先拉代码,再删旧容器和镜像,再起Dockerfile的容器并执行出go的二进制文件,再运行Dockerfile文件如下FROMgolang:alpine#为我们的镜像设置必要的环境变量ENVGO111MODULE=on\GOPROXY=https://goproxy.cn,direct\CGO_ENABLED=0\GOOS=linux\GO......
  • Docker_Dockerfile5
    一、Docker镜像原理思考:Docker镜像本质是什么?Docker中一个centos镜像为什么只有200MB,而一个centos操作系统的iso文件要几个个G?Docker中一个tomcat镜像为什么有500MB,而一个tomcat安装包只有70多MB? 操作系统组成部分:进程调度子系统进程通信子系统内存管理......
  • 初识系统框架
    一、学到了1.搭建vue框架:详见http://t.csdnimg.cn/og0Tl2.启动vuecmd输入npmrundevidea中直接配置3.引用element的框架(npmielement-ui-S)4.Vue项目工程的介绍public:放静态文件的地方,(html、静态图标等)src:项目的源码目录src.assets:可以放一些logo、图片、自定义样......
  • 初识C语言——第二十九天
    数组本章重点1.一维数组的创建和初始化数组的创建注意事项:1.一维由低数组在内存中是连续存放的!2.随着数组下标的增长,地址是由低到高变化的2.二维数组的创建和初始化注意事项:1.二维数组在内存中也是连续存放的(一行内部是连续的,跨行也是连续的)#define_CR......
  • 初识C语言——扫雷游戏(内附完整代码+详细解释)
    文章目录一、游戏各功能模块实现1.雷区的定义2.雷区初始化3.显示雷区4.布置雷区5.获取某坐标周围8个位置地雷的个数6.扫雷7.递归展开二、运行结果1.扫雷成功2.扫雷失败三、完整代码1.game.h2.game.c3.test.c总结一、游戏各功能模块实现1.雷区的定义//雷区的行列......
  • shell脚本的简单初识
     脚本相信大家都不陌生,平时玩游戏遇到的各种辅助软件;你可能要敲上一会的命令,大佬发给你一个文本,运行一下一秒解决。脚本确实帮助了我们很多,今天就来简单的了解一下在Linux中的一个shell脚本。什么是shell脚本?作用,或者是好处shell脚本简单来说就是将平时使用的指令按照顺序......
  • 【MySQL】初识数据库-CRUD
    ❣博主主页:33的博客❣▶️文章专栏分类:MySQL◀️......
  • 初识指针(1)
    1.内存和地址1.1内存把内存划分为⼀个个的内存单元,每个内存单元的⼤⼩取1个字节。计算机中常⻅的单位(补充):⼀个⽐特位可以存储⼀个2进制的位1或者0。1byte=8bit1KB=1024byte1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB其中,每个内存单元,相当于⼀个学⽣宿......