【Docker】关于卷的讨论(在Docker中进行挂载)
导言 (“Introduction”)
我被要求使用Docker来建立测试环境,暂时不确定该如何处理日志和内容(图片),所以我决定使用卷容器运行。
Docker 卷。
这次
-
- ログはリアルタイムで見たい
- 画像は登録されていれば良い
所以,
-
- ログは明示的にディレクトリを指定してマウント
- 画像はDocker内部でのみマウント
我创建了一个Volume,以此感觉。
以下是命令行代码。
docker run \
--name docker-volume \
-v /home/logs/apl:/var/log \
-v /usr/local/image \
busybox
在启动Docker容器时,可以通过以下方式指定Volume来利用上述Volume。
docker run \
--volumes-from docker-volume \
--name name \
usr/dockerimage
命令说明
我来解释一下命令的含义。
首先,让我们来解释一下docker_volume.sh。
docker run \ #Dockerコンテナ起動
--name docker-volume \ #コンテナ名
-v /home/logs/apl:/var/log \ #Volume指定 Dockerを起動しているサーバのディレクトリ:Docker内のマウントしたいディレクトリ
-v /usr/local/image \ #Docker内のマウントしたいディレクトリ
busybox #Dockerイメージ
这次我们使用busybox。它非常轻量且推荐使用。
第三行是用于日志的卷,在冒号之前的容器设置中,可以实时查看日志文件,位于启动服务器的目录中。
第四行的卷是用于图片的,只指定了要挂载的目录,应用程序可以使用它。
※在卷启动时会自动创建目录,如果你有兴趣,请自行查找。
下一个是docker_run.sh。
docker run \ #Dockerコンテナ起動
--volumes-from docker-volume \ #利用するDockerVolumeコンテナ名
--name name \ #起動コンテナ名
usr/dockerimage #Dockerイメージ
在第二行中,指定了要使用的卷名。
在Volume启动时,将自动挂载指定的目录。
提醒事项
请将在启动Volume容器时指定的目录与应用程序容器内的目录合并。
如果不存在,则会报错。