使用自定义配置运行docker postgres容器,您将使用如下命令:
“docker container run -d postgres -c max_connections = 6 -c log_lock_waits = on”
我的任务是:
name: Start postgis
become: true
docker_container:
name: postgis
image: "{{ ecr_url }}"
network_mode: bridge
exposed_ports:
5432
published_ports:
5432:5432
state: started
volumes:
- /mnt/datadir/pgdata:/var/lib/postgresql/data
确实会运行容器,但我的问题是:
docker run命令中“-c”标志的等效内容是什么?
感谢larsks的回答,你可以一个接一个地发送多个命令
published_ports:
5432:5432
state: started
command:
-c shared_buffers = 24000MB
-c work_mem=16MB
-c maintenance_work_mem = 128MB
-c etcetera
答案 0 :(得分:3)
请记住docker run
的语法是:
docker run [...docker options...] image [...command and args...]
考虑到这一点,请查看命令行:
docker container run -d postgres -c max_connections=6 -c log_lock_waits=on
这些-c
参数在图像名称后出现,因此它们是 的docker run
标志。它们是传递给容器的命令的一部分,在这种情况下,它们最终成为postgres
命令的参数。
所以在Ansible中,你只需要:
docker_container:
name: postgis
image: "{{ ecr_url }}"
command: "-c max_connections=6 -c log_lock_waits=on"