要将命令附加到docker-compose.yml文件而不覆盖现有内容,可以使用以下两种方法:
举例来说,如果原始docker-compose.yml文件中有以下内容:
version: '3'
services:
web:
image: nginx:latest
而你想要添加一个额外的命令来修改nginx的配置,可以在docker-compose.override.yml文件中添加以下内容:
version: '3'
services:
web:
command: /bin/bash -c "echo 'Hello, Docker!' > /usr/share/nginx/html/index.html && nginx -g 'daemon off;'"
这样,运行docker-compose命令时,会自动加载docker-compose.yml和docker-compose.override.yml文件,并执行override文件中的命令。
举例来说,如果原始docker-compose.yml文件中有以下内容:
version: '3'
services:
db:
image: postgres:latest
而你想要在运行db容器时执行一个自定义的命令,可以使用以下命令:
docker-compose run db /bin/bash -c "echo 'Running custom command'"
这样,会创建一个临时的容器并运行指定的命令,而不会修改docker-compose.yml文件中的配置。
总结起来,要将命令附加到docker-compose.yml文件而不覆盖现有内容,你可以使用docker-compose.override.yml文件或docker-compose run命令。这两种方法都允许你添加、覆盖或修改配置,而不会修改原始的docker-compose.yml文件。
领取专属 10元无门槛券
手把手带您无忧上云