Jam*_*mac 9 docker docker-compose
我最近使用下面的示例 docker-compose.yml 文件在 Windows 10 的各个项目中成功安装了卷。对于今天的一个新项目,我需要从 Z:/ 驱动器(一个网络安装驱动器,当\\IP.IP.IP.IP\public\data (Z:)
我导航到 Windows 文件资源管理器中的该区域时出现)安装一个文件夹。
当我编辑卷以指向 Z: 上的位置时(例如在下面的第二个 docker-compose.yml 中),当我通过 CLI 连接到容器时,卷未正确安装并且是空文件夹。
任何关于正确安装 Z: 驱动器文件夹的建议都会很棒,谢谢。
工作 docker-compose.yml 文件:
version: '3.1'
services:
db:
image: mysql:8.0.25
container_name: db
restart: always
secrets:
- mysql_root
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root
MYSQL_DATABASE: donuts
TZ: "Australia/NSW"
volumes:
- mysql-data:/var/lib/mysql
- ./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
network_mode: "host"
voyager_donuts:
container_name: voyager_donuts
build:
context: .
dockerfile: Dockerfile
image: voyager_donuts
network_mode: "host"
environment:
TZ: "Australia/NSW"
volumes:
- c:/Users/MYUSERNAME/data/DonutsCalibration:/voyager_calibration
- c:/Users/MYUSERNAME/data/DonutsLog:/voyager_log
- c:/Users/MYUSERNAME/data:/voyager_data
- c:/Users/MYUSERNAME/data/DonutsReference:/voyager_reference
volumes:
mysql-data:
secrets:
mysql_root:
file: ./secrets/mysql_root
Run Code Online (Sandbox Code Playgroud)
损坏的卷 docker-compose.yml 文件:
version: '3.1'
services:
db:
image: mysql:8.0.25
container_name: db
restart: always
secrets:
- mysql_root
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root
MYSQL_DATABASE: donuts
TZ: "Australia/NSW"
volumes:
- mysql-data:/var/lib/mysql
- ./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
network_mode: "host"
voyager_donuts:
container_name: voyager_donuts
build:
context: .
dockerfile: Dockerfile
image: voyager_donuts
network_mode: "host"
environment:
TZ: "Australia/NSW"
volumes:
- z:/RAW/DonutsCalibration:/voyager_calibration
- z:/RAW/DonutsLog:/voyager_log
- z:/RAW:/voyager_data
- z:/RAW/DonutsReference:/voyager_reference
volumes:
mysql-data:
secrets:
mysql_root:
file: ./secrets/mysql_root
Run Code Online (Sandbox Code Playgroud)
根据此论坛帖子,您必须使用类似的方法才能挂载网络共享:
volumes:
foldermix:
driver_opts:
type: cifs
o: username={smbuser},password={smbpass},uid={UID for mount},gid={gid for mount},vers=3.0
device: //Share1/FolderMix
Run Code Online (Sandbox Code Playgroud)
当然,如果您确实需要间接挂载网络驱动器而不是网络共享,即因为驱动器可以挂载到不同的共享,或者您不想将凭据放入 Docker-Compose 文件中,则这无法解决问题。
归档时间: |
|
查看次数: |
8915 次 |
最近记录: |