Docker 撰写相对路径与 Docker 卷
Docker Compose Relative paths vs Docker volume
我有一个用于网站的 docker 组合文件,其中包括用于各种目的的一堆其他容器,包括一个 mysql 将具有持久数据的数据库。目前撰写文件指定数据的相对路径,例如:
mysql:
图片:mysql:5.7
container_name:sqldb
卷:
- ./mysql_data/_data:/var/lib/mysql
和文件夹结构:
--mysql_data
--static_content
docker-compose.yml
这意味着我可以随时通过复制整个文件夹将整个站点(包括持久化内容)移动到另一台服务器,然后 运行 docker-compose up。
但是读到 docker 卷听起来它是首选方法(加上使用 "docker run" 似乎不支持相对绑定安装路径,但在 compose 中工作)所以我'我想知道我是否需要更改此方法以使用卷?这种相对约束方法有什么内在的错误吗?如果我确实切换到卷,在移动容器时我是否必须手动移动卷(例如这种方法How to port data-only volumes from one host to another?)?
Docker
中的数据持久化
安装任何卷有四种可能的选择:
- 相对路径
- 绝对路径
- Docker 卷默认路径
- Docker 带绝对路径的卷
这是上面的例子:
version: '3'
services:
sample:
image: sample
volumes:
- ./relative-path-volume:/var/data-two
- /home/ubuntu/absolute-path-volume:/var/data-one
- docker-volume-default-path-volume:/var/data-three
- docker-volume-absolute-path-volume:/var/data-four
volumes:
docker-volume-default-path-volume: {}
docker-volume-absolute-path-volume:
driver: local
driver_opts:
o: bind
type: none
device: /home/path/of/your/folder
相对路径:./relative-path-volume:/var/data-two
绝对路径:/home/ubuntu/absolute-path-volume:/var/data-one
Docker 卷默认路径:docker-volume-default-path-volume:/var/data-three
Docker 具有绝对路径的卷:docker-volume-absolute-path-volume:/var/data-four
这适用于任何服务器,因为我们将卷设备 属性 自定义到相应的目录路径。
我有一个用于网站的 docker 组合文件,其中包括用于各种目的的一堆其他容器,包括一个 mysql 将具有持久数据的数据库。目前撰写文件指定数据的相对路径,例如:
mysql: 图片:mysql:5.7 container_name:sqldb 卷: - ./mysql_data/_data:/var/lib/mysql
和文件夹结构:
--mysql_data --static_content docker-compose.yml
这意味着我可以随时通过复制整个文件夹将整个站点(包括持久化内容)移动到另一台服务器,然后 运行 docker-compose up。
但是读到 docker 卷听起来它是首选方法(加上使用 "docker run" 似乎不支持相对绑定安装路径,但在 compose 中工作)所以我'我想知道我是否需要更改此方法以使用卷?这种相对约束方法有什么内在的错误吗?如果我确实切换到卷,在移动容器时我是否必须手动移动卷(例如这种方法How to port data-only volumes from one host to another?)?
Docker
中的数据持久化安装任何卷有四种可能的选择:
- 相对路径
- 绝对路径
- Docker 卷默认路径
- Docker 带绝对路径的卷
这是上面的例子:
version: '3'
services:
sample:
image: sample
volumes:
- ./relative-path-volume:/var/data-two
- /home/ubuntu/absolute-path-volume:/var/data-one
- docker-volume-default-path-volume:/var/data-three
- docker-volume-absolute-path-volume:/var/data-four
volumes:
docker-volume-default-path-volume: {}
docker-volume-absolute-path-volume:
driver: local
driver_opts:
o: bind
type: none
device: /home/path/of/your/folder
相对路径:./relative-path-volume:/var/data-two
绝对路径:/home/ubuntu/absolute-path-volume:/var/data-one
Docker 卷默认路径:docker-volume-default-path-volume:/var/data-three
Docker 具有绝对路径的卷:docker-volume-absolute-path-volume:/var/data-four
这适用于任何服务器,因为我们将卷设备 属性 自定义到相应的目录路径。