docker容器之间调用_如何在Docker容器之间共享数据
介绍
Docker是一种流行的容器化工具,用于向软件应用程序提供包含运行所需的所有内容的文件系统。使用Docker容器确保软件将以相同的方式运行,而不管其部署在哪里,因为它的运行时环境无残忍地一致。 一般来说,Docker容器是短暂的,只要在容器中发出的命令完成就运行。然而,有时,应用程序需要在容器被删除后共享对数据的访问或持久化数据。数据库,网站的用户生成的内容和日志文件只是一些数据的示例,这些数据在Docker镜像中是不切实际或不可能包含的,但是哪些应用程序需要访问。 Docker卷提供对数据的持久访问。
先决条件
要跟随这篇文章,你将需要一个Ubuntu 16.04服务器,具有以下:
- 具有sudo权限的非root用户。在使用Ubuntu 16.04初始服务器设置指南介绍如何设置起来。
- 从第1步和第2步中的说明进行安装Docker如何在Ubuntu 16.04安装和使用Docker
注:即使先决条件给出了在Ubuntu 16.04安装Docker指令, docker本文中Docker数据量的命令应该在其它操作系统上,只要Docker已安装并运行sudo用户已被添加到docker组。 Docker卷可以在创建容器的同一命令中创建和附加,也可以独立于任何容器创建,然后再连接。在本文中,我们将介绍在容器之间共享数据的四种不同方法。
1 - 创建独立卷
在Docker的1.9版本中引入的docker volume create命令,可以没有它与任何特定的容器创建卷。 我们将使用这个命令来添加一个名为量DataVolume1 :
docker volume create --name DataVolume1
将显示名称,表示命令成功。
OutputDataVolume1
为了使用量,我们将创建一个从Ubuntu的镜像新的容器,使用--rm标志,当我们退出时自动删除。 我们将使用-v安装新卷。 -v需要大卷,一个冒号,然后是绝对路径所在的卷应出现在容器内的名称。 如果路径中的目录不作为映像的一部分存在,那么将在命令运行时创建它们。 如果他们不存在,安装的卷将隐藏现有内容。
docker run -ti --rm -v DataVolume1:/datavolume1 ubuntu
当我们在那里,我们将写一些数据到卷:
echo "Example1" > /datavolume1/Example1.txt
因为我们使用了--rm标志,我们的容器时,将自动退出我们删除。但是,我们的卷仍然可以访问。
exit
我们可以验证卷存在与系统上docker volume inspect :
docker volume inspect DataVolume1Output[ { "Name": "DataVolume1
上一篇: 【面试】泛型相关-这一篇全了解
下一篇: linux下怎么杀死mysql进程