Ten*_*man 9 docker docker-volume
我刚刚在youtube上阅读本教程并尝试解释使用-v命令,IE为什么教程中的人使用-v命令?他使用命令,像这样,
docker run -v /var/lib/mysql --name=my_datastore -d busybox echo "my datastore"
Run Code Online (Sandbox Code Playgroud)
现在我理解IE上面的命令
my datastore
Run Code Online (Sandbox Code Playgroud)
为容器指定一个特定名称.
-v /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
上面的命令搜索busybox图像,如果没有找到它将从中拉出-v并在后台作为守护进程运行它.
执行run命令后,下面的行将回显到控制台.
docker run -v /var/lib/mysql --name=my_datastore -d busybox echo "my datastore"
Run Code Online (Sandbox Code Playgroud)
现在我不理解的部分如下:
my datastore
Run Code Online (Sandbox Code Playgroud)
为什么-v这里使用的命令以及--name=my_datastore指定路径的原因是什么?我很难理解为什么使用上述行以及在什么情况下使用?谁能解释一下?
lar*_*sks 25
的-v(或--volume)参数来docker run为容器,该容器从所述容器文件系统的其余部分分开的内部创建的存储空间.命令有两种形式.
当给出单个参数时-v /var/lib/mysql,这会从Docker分配空间并将其安装在给定位置.这主要是从分配存储泊坞是的方式不同,从你的服务容器.例如,您可能希望运行较新版本的数据库应用程序,这涉及拆除现有MySQL容器并启动新容器.您希望数据在此过程中继续存在,因此您将其存储在可由tour数据库容器访问的卷中.
当给两个参数(host_path:container_path),如-v /data/mysql:/var/lib/mysql,此安装在指定的路径中的容器内的主机上的指定的目录(和,要准确,这也可以用于暴露主机文件在容器内;例如-v /etc/localtime:/etc/localtime将使得/etc/localtime在主机可/etc/localtime在容器内部使用).这是一种将信息提供到容器中的方法,或者为容器提供一种使主机可以访问文件的方法.
如果容器具有可用卷,可以通过使用-v命令行参数或通过VOLUMEDockerfile中的指令,则可以使用以下--volumes-from选项从另一个容器访问这些卷:
docker run --volumes-from my_datastore ...
Run Code Online (Sandbox Code Playgroud)
这将使源容器中定义的任何卷在您开始使用的容器中可用--volumes-from.
| 归档时间: |
|
| 查看次数: |
7971 次 |
| 最近记录: |