初识dockerfile
dockerfile是创建镜像的基础文件,镜像是一层一层下载的,所有dockerfile的命令也是一层一层的
- 简单的dockerfile命令
FROM centos # 以centos为运行基础
VOLUME ["volume01","volume02"] #挂载卷
CMD echo "----end----" #镜像创建成功后打印的文字
CMD /bin/bash # 进入镜像时,默认进入/bin/bash命令行
- 写好了文件命令,就可以更具这个文件创建镜像了
docker bulid -f dockerfile -t 自定义镜像名:版本号 .(注意这个点,表示在当前目录创建镜像)
- 查看我们自己创建的镜像
![image]()
- 运行并进入我们创建的镜像
[root@iZbp1htnoa70qlle394f3wZ docker-test-volume]# docker run -it 4d030b2b738b /bin/bash
[root@04cebc1b7a2e /]# ls -al
total 64
drwxr-xr-x 1 root root 4096 Apr 21 15:07 .
drwxr-xr-x 1 root root 4096 Apr 21 15:07 ..
-rwxr-xr-x 1 root root 0 Apr 21 15:07 .dockerenv
lrwxrwxrwx 1 root root 7 Nov 3 2020 bin -> usr/bin
drwxr-xr-x 5 root root 360 Apr 21 15:07 dev
drwxr-xr-x 1 root root 4096 Apr 21 15:07 etc
drwxr-xr-x 2 root root 4096 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 4096 Sep 15 2021 lost+found
drwxr-xr-x 2 root root 4096 Nov 3 2020 media
drwxr-xr-x 2 root root 4096 Nov 3 2020 mnt
drwxr-xr-x 2 root root 4096 Nov 3 2020 opt
dr-xr-xr-x 105 root root 0 Apr 21 15:07 proc
dr-xr-x--- 2 root root 4096 Sep 15 2021 root
drwxr-xr-x 11 root root 4096 Sep 15 2021 run
lrwxrwxrwx 1 root root 8 Nov 3 2020 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 Nov 3 2020 srv
dr-xr-xr-x 13 root root 0 Apr 21 15:07 sys
drwxrwxrwt 7 root root 4096 Sep 15 2021 tmp
drwxr-xr-x 12 root root 4096 Sep 15 2021 usr
drwxr-xr-x 20 root root 4096 Sep 15 2021 var
drwxr-xr-x 2 root root 4096 Apr 21 15:07 volume01 # 我们创建的卷
drwxr-xr-x 2 root root 4096 Apr 21 15:07 volume02
- 在volume01文件夹中创建文件
[root@iZbp1htnoa70qlle394f3wZ /]# docker exec -it a36c3799b8ce /bin/bash
[root@a36c3799b8ce /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin sr
[root@a36c3799b8ce /]# cd volume01
[root@a36c3799b8ce volume01]# touch luoking.java
[root@a36c3799b8ce volume01]# ls
luoking.java
- 退出容器,在宿主机查看卷的具体信息
docker inspect a36c3799b8ce
"Mounts": [
{
"Type": "volume",
"Name": "6c52b0f7866b0b9fd960697d9882b22ef9864edb25fcdd8d1dfc13b1114a7f26",
"Source": "/var/lib/docker/volumes/6c52b0f7866b0b9fd960697d9882b22ef9864edb25fcdd8d1dfc13b1114a7f26/_data",
"Destination": "volume01",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "f47a98c3e9c67f79dc842b2047fd4f7440de209bfd1cbdbf1dc13c58610d0808",
"Source": "/var/lib/docker/volumes/f47a98c3e9c67f79dc842b2047fd4f7440de209bfd1cbdbf1dc13c58610d0808/_data",
"Destination": "volume02",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
- 在本地挂载卷的目录查看
[root@iZbp1htnoa70qlle394f3wZ /]# cd /var/lib/docker/volumes/6c52b0f7866b0b9fd960697d9882b22ef9864edb25fcdd8d1dfc13b1114a7f26/_data
[root@iZbp1htnoa70qlle394f3wZ _data]# ls
luoking.java # 发现文件已同步


浙公网安备 33010602011771号