嘿,伙计们,有没有办法把init.sql文件添加到我的Docker Swarm堆栈中



另一个问题是,如何在堆栈中设置卷的名称,因为当我运行以下命令时:docker-stack deploy-compose-file=docker-compose.yml-mysql它会自动将mysql_添加到卷的名称中。

version: '3.7'
services:
db:
image: "mysql:5.7"
deploy:
replicas: 2
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
- mysql-data:/var/lib/mysql
ports:
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/my_file_secret
secrets:
- my_file_secret
secrets:
my_file_secret:
file: ./my_file_secret.txt
volumes:
mysql-data:
driver: local

您可以通过添加name:来设置卷名

volumes:
data:
name: VOLUME_NAME

名称按原样使用,不会与堆栈名称一起使用

请参阅:https://docs.docker.com/compose/compose-file/#name

但正如第一条评论中所暗示的那样,这其实并不重要。

最新更新