数据卷容器
如果用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器其实就是一个普通的容器,专门用它提供数据卷供其他容器挂载,使用方法如下:
- 创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata
[root@localhost ~]# docker run -dit --name dbdata -v /data busybox
ae5b45f951b678c219902e204a2a4674d6ec0a220878df131c73cb4892ae564b
- 然后可以在其他容器中使用–volumes-from来挂载dbdata容器中的数据卷,例如创建db1和db2两个容器,并从dbdata容器挂载数据卷:
[root@localhost ~]# docker run -it --name db1 --volumes-from dbdata busybox /bin/sh
/ # ls
bin dev home root tmp var
data etc proc sys usr //含有data目录
[root@localhost ~]# docker run -it --name db2 --volumes-from dbdata busybox /bin/sh
/ # ls
bin dev home root tmp var
data etc proc sys usr //含有data目录
注意:此时,容器db1和db2都挂载同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下的写入,其他容器都可以看到。
//再db2容器内创建文件test
/data # touch test
/data # ls
test
//再db1容器内查看
/ # cd data/
/data # ls
test
使用–volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态
如果删除了挂载的容器(包括dbdata、db1和db2),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用docker rm -v命令来指定同时删除关联的容器。
创建nginx容器,提供网站和配置文件
创建网站和配置文件防止目录
[root@localhost ~]# mkdir -p /var/www/html
[root@localhost ~]# mkdir /config
//把网站放入目录下
[root@localhost html]# pwd
/var/www/html
[root@localhost html]# ls
index.html baidu_files
//配置文件放入/config下
[root@localhost config]# pwd
/config
[root@localhost config]# ls
conf.d mime.types.default
default.d nginx.conf
fastcgi.conf nginx.conf.default
fastcgi.conf.default scgi_params
fastcgi_params scgi_params.default
fastcgi_params.default uwsgi_par