数据卷其他操作
Dockerfile文件里面设置数据卷
VOLUME /usr/share/nginx/html/这样就配置了一个匿名数据卷,运行过程中,将数据写入到/usr/share/nginx/html/目录中,就可以实现容器存储层的无状态变化。
查看所有数据卷
$ docker volume ls
查看数据卷详情
$ docker volume inspect
删除数据卷
$ docker volume rm注意:在使用中的数据卷,需要先将相关的容器停止并移除,才能删除。
数据卷容器
数据卷容器是一个专门用来管理数据卷的容器,该容器主要是供其他容器的引用和使用。
创建数据卷容器
$ docker run -itd -v /usr/share/nginx/html/ --name mydata ubuntu引用容器
$ docker run -itd --volumes-from mydata 80:80 --name nginx1 nginx
$ docker run -itd --volumes-from mydata 81:80 --name nginx2 nginx此时,nginx1和nginx2都挂载了同一个数据卷到/usr/share/nginx/html/目录下,三个容器中,任意一个修改了该目录下的文件,其他两个都能看到变化。
容器连接
一般来说,容器启动后,我们都是通过端口映射来使用容器提供的服务,端口映射只是使用容器服务的一种方式,除了这种方式外,还可以使用容器连接的方式来使用容器服务。
例如,有两个容器,一个容器运行一个SpringBoot项目,另一个容器运行着mysql数据库,可以通过容器连接使 SpringBoot直接访问到Mysql数据库,而不必通过端口映射来访问mysql服务。
为了案例简单,我这里举另外一个例子:
有两个容器,一个nginx容器,另一个ubuntu,我启动nginx容器,但是并不分配端口映射,然后再启动 ubuntu,通过容器连接,在ubuntu中访问nginx。
具体操作步骤如下:
首先启动一个nginx容器,但是不分配端口,命令如下:
$ docker run -d --name nginx1 nginx容器启动成功后,在宿主机中是无法访问的。
启动ubuntu
接下来,启动一个ubuntu,并且和nginx建立连接,如下:
$ docker run -dit --name ubuntu --link nginx1:mylink ubuntu bash这里使用–link建立连接,nginx1是要建立连接的容器,后面的mylink则是连接的别名。










