在 fedora 的 docker 中创建多个 PostgreSQL 容器
Creating multiple PostgreSQL containers in docker in fedora
我想创建 2 个 postgrSQL 容器,这样一个可以用作 DEV,另一个可以用作 DEV_STAGE。
我能够成功创建一个容器并将其分配给端口 5432。但是当我尝试创建第二个容器时,它正在创建(有时显示状态为 EXITED)但没有开始,因为端口号问题。
下面是我运行的命令。
sudo docker 运行 -v "pwd
/data:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5432:5432 fedora/postgresql
sudo docker 运行 -v "pwd
/data_stage:/var/lib/pgsql/data_stage:Z" -e POSTGRESQL_USER=user1 - e POSTGRESQL_PASSWORD=密码 -e POSTGRESQL_DATABASE=test_db -d -p 5432:5433 fedora/postgresql
我认为我使用的端口映射不正确。但无法获得正确的。
第二个容器的卷定义有误。不要更改冒号后的路径,路径必须设置为 /var/lib/pgsql/data
.
你还翻转了端口映射。正确的命令是这样的:
sudo docker run -v "`pwd`/data_stage:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5432 fedora/postgresql
如果出现任何问题,请使用 docker logs CONTAINER_ID
检查容器日志
感谢您的回答。我纠正了路径。我认为翻转端口号也不行。因为我已经有一个映射到5432的容器。所以我不能再将端口映射到5432。以下命令对我有用。首先,我使用导出变量 PGPORT=5433 将 Postgres 默认端口修改为 5433。
sudo docker run -v "`pwd`/data_stg:/var/lib/pgsql/data:Z" -e PGPORT=5433 -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5433 fedora/postgresql
我想创建 2 个 postgrSQL 容器,这样一个可以用作 DEV,另一个可以用作 DEV_STAGE。
我能够成功创建一个容器并将其分配给端口 5432。但是当我尝试创建第二个容器时,它正在创建(有时显示状态为 EXITED)但没有开始,因为端口号问题。
下面是我运行的命令。
sudo docker 运行 -v "pwd
/data:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5432:5432 fedora/postgresql
sudo docker 运行 -v "pwd
/data_stage:/var/lib/pgsql/data_stage:Z" -e POSTGRESQL_USER=user1 - e POSTGRESQL_PASSWORD=密码 -e POSTGRESQL_DATABASE=test_db -d -p 5432:5433 fedora/postgresql
我认为我使用的端口映射不正确。但无法获得正确的。
第二个容器的卷定义有误。不要更改冒号后的路径,路径必须设置为 /var/lib/pgsql/data
.
你还翻转了端口映射。正确的命令是这样的:
sudo docker run -v "`pwd`/data_stage:/var/lib/pgsql/data:Z" -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5432 fedora/postgresql
如果出现任何问题,请使用 docker logs CONTAINER_ID
感谢您的回答。我纠正了路径。我认为翻转端口号也不行。因为我已经有一个映射到5432的容器。所以我不能再将端口映射到5432。以下命令对我有用。首先,我使用导出变量 PGPORT=5433 将 Postgres 默认端口修改为 5433。
sudo docker run -v "`pwd`/data_stg:/var/lib/pgsql/data:Z" -e PGPORT=5433 -e POSTGRESQL_USER=user1 -e POSTGRESQL_PASSWORD=password -e POSTGRESQL_DATABASE=test_db -d -p 5433:5433 fedora/postgresql