【发布时间】:2020-10-15 18:52:21
【问题描述】:
我想提取 docker postgres 图像并在其中创建一个数据库mydb。我可以像这样一步一步地做到这一点
-
docker run -d -p 5432:5432 --name containername -e POSTGRES_PASSWORD=password -d postgres:12.1 -
docker exec -it containername /bin/bash -
psql -h localhost -U postgres -
CREATE database mydb;
我想在自述文件中添加这些步骤。运行容器本身时,是否可以在单个命令中完成所有操作? 尝试了类似下面的方法但无法成功
docker run -d -p 5432:5432 --name terminals -e POSTGRES_PASSWORD=password -d postgres:12.1 psql -h localhost -U postgres; create database terminals
【问题讨论】:
-
你真的看过图片description and documentation(寻找标题“如何扩展这个图片”)?因为您可以在容器启动时自动执行此操作,基本上是通过设置一些环境变量或在容器内挂载文件。
-
嗨,安装脚本会再次使其成为一个多步骤过程。
-
除非您使用已经存在的脚本分发自己的扩展图像。或者您分发文件并在命令行上使用
-v选项给出安装它的说明。或者分发一个 dockerfie 和脚本,让这个人构建自己的图像并启动它。如您所见,有很多选择。
标签: postgresql docker containers docker-exec