16. 容器数据卷之Dockerfile
这里先简单实用一下Dockerfile,后面会详细讲一下Dockerfile,由于目前学的容器数据卷和Dockerfile有关联,因此在这个地方先带过一下。
进入正题:
16.1. 编写Dockerfile脚本
这里先简单实用一下Dockerfile,后面会详细讲一下Dockerfile,由于目前学的容器数据卷和Dockerfile有关联,因此在这个地方先带过一下。
进入正题:
编写一个Dockerfile脚本,通过这个脚本可以生成镜像,我们到目前可以知道镜像是一层一层的,而Dockerfile脚本就是一个一个的命令,每个命令都是一层。
编写Dockerfile脚本,脚本存放的目录在哪里都可以,这里我们放在/home/dockerfile_test/目录下
[root@iZ8vb6lqqya4rvreq9ra6gZ home]# pwd
/home
[root@iZ8vb6lqqya4rvreq9ra6gZ home]# ls
docker_test mysql
[root@iZ8vb6lqqya4rvreq9ra6gZ home]# mkdir dockerfile_test
[root@iZ8vb6lqqya4rvreq9ra6gZ home]# ls
dockerfile_test docker_test mysql
[root@iZ8vb6lqqya4rvreq9ra6gZ home]# cd dockerfile_test/
[root@iZ8vb6lqqya4rvreq9ra6gZ dockerfile_test]# pwd
/home/dockerfile_test
[root@iZ8vb6lqqya4rvreq9ra6gZ dockerfile_test]#
在该目录下创建一个dockerfile1文件,具体内容如下:
FROM centos
# 这里挂载卷的方式,是匿名挂载
VOLUME ["volume01","volume02"]
CMD echo "-----end-----"
CMD /bin/bash
16.2. build(构建)镜像
命令如下:
docker build -f ${dockerfile文件路径} -t ${镜像名称} .
解释:
- -f 表示dockerfile文件的地址,可以时绝对路径(或相对路径);即:使用哪个dockerfile文件进行生成镜像
- -t 表示镜像名称,这里需要注意,镜像名称不能以
/
开头 - . 表示将镜像生成在当前目录下
具体使用:
16.3. 启动镜像
16.4. 查看容器详情
使用docker inspect
命令查看容器详情,下面是卷挂载部分的详情:
16.5. 测试数据同步(共享)
将容器内的文件同步到宿主机
容器内—>宿主机
将宿主机的文件同步到容器内
宿主机—>容器内
这种方式,在实际使用中非常常用,因为我们通常会构建自己的镜像!
------------------------------EOF-------------------------------