使用 Docker Swarm 定义共享主机卷
Defining Shared Host Volumes using Docker Swarm
我正在尝试使用以下 docker-stack.yml 文件将我的服务部署到我的 Docker Swarm 版本 17.06-ce。我想使用卷将 Windows 主机上的 C:/logs
目录映射到容器内的 /var/log
目录。
version: '3.3'
services:
myapi:
image: mydomain/myimage
ports:
- "5000:80"
volumes:
- "c:/logs:/var/log/bridge"
当我删除卷部分时,我的容器可以正常启动。添加卷后,容器甚至不会尝试启动,即
docker container ps --all
没有显示我的容器。
docker events
未显示正在尝试启动的容器。
以下命令对我有用,所以我知道我的语法是正确的:
docker run -it -v "c:/logs:/var/log/bridge" alpine
我已经读了 volumes documentation 几遍了。我的卷的语法是否正确?这是受支持的场景吗?这是 Docker 错误吗?
Docker 运行 将在您 运行 版本 2 中工作并且使用 docker-compose 我们可以 运行 自定义卷安装。
在第三版中,我们必须使用具有默认卷路径或自定义路径的命名卷。
这是 docker-compose 与 默认音量
version: "3.3"
services:
mysql:
image: mysql
volumes:
- db-data:/var/lib/mysql/data
networks:
- overlay
deploy:
mode: replicated
replicas: 2
endpoint_mode: dnsrr
volumes:
db-data:
卷默认安装/var/lib/docker/volumes/repo/_data
我们可以选择将自定义路径挂载到卷
version: "3.3"
services:
mysql:
image: mysql
volumes:
- db-data:/var/lib/mysql/data
networks:
- overlay
deploy:
mode: replicated
replicas: 2
endpoint_mode: dnsrr
volumes:
db-data:
driver: local
driver_opts:
o: bind
type: none
device: /home/ubuntu/db-data/
我正在尝试使用以下 docker-stack.yml 文件将我的服务部署到我的 Docker Swarm 版本 17.06-ce。我想使用卷将 Windows 主机上的 C:/logs
目录映射到容器内的 /var/log
目录。
version: '3.3'
services:
myapi:
image: mydomain/myimage
ports:
- "5000:80"
volumes:
- "c:/logs:/var/log/bridge"
当我删除卷部分时,我的容器可以正常启动。添加卷后,容器甚至不会尝试启动,即
docker container ps --all
没有显示我的容器。docker events
未显示正在尝试启动的容器。
以下命令对我有用,所以我知道我的语法是正确的:
docker run -it -v "c:/logs:/var/log/bridge" alpine
我已经读了 volumes documentation 几遍了。我的卷的语法是否正确?这是受支持的场景吗?这是 Docker 错误吗?
Docker 运行 将在您 运行 版本 2 中工作并且使用 docker-compose 我们可以 运行 自定义卷安装。
在第三版中,我们必须使用具有默认卷路径或自定义路径的命名卷。
这是 docker-compose 与 默认音量
version: "3.3"
services:
mysql:
image: mysql
volumes:
- db-data:/var/lib/mysql/data
networks:
- overlay
deploy:
mode: replicated
replicas: 2
endpoint_mode: dnsrr
volumes:
db-data:
卷默认安装/var/lib/docker/volumes/repo/_data
我们可以选择将自定义路径挂载到卷
version: "3.3"
services:
mysql:
image: mysql
volumes:
- db-data:/var/lib/mysql/data
networks:
- overlay
deploy:
mode: replicated
replicas: 2
endpoint_mode: dnsrr
volumes:
db-data:
driver: local
driver_opts:
o: bind
type: none
device: /home/ubuntu/db-data/