首先,我不是一个码头新手(或专家),只是不知道如何完成这一点而不炸毁我目前的容器。
我在玩Postgres,使用这个命令旋转一个容器,而不知道它不会在Docker之外公开Postgres
docker run --name postgres -e POSTGRES_PASSWORD=<password> -d postgres我想让其他系统能够访问这些数据。我不想删除容器,因为我已经完成了相当多的配置。
在停止实例后,我尝试在/var/lib/docker/containers中编辑容器/var/lib/docker/containers文件,但是文件在启动容器备份后会被覆盖。
将港口暴露在容器之外的最佳做法是什么?
发布于 2022-07-27 22:10:40
如果重新启动容器,容器内的任何更改都将重置为初始状态。
因此,您需要持久化的任何数据都必须添加到坞卷中。
因此,您首先需要持久化数据,然后公开端口。
要做到这一点,你可以跑
$ docker run -d \
--name some-postgres \
-p 5432:5432 \
-e POSTGRES_PASSWORD=mysecretpassword \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v ./postgresql:/var/lib/postgresql/data \
postgres这里有更多的细节,https://hub.docker.com/_/postgres
https://stackoverflow.com/questions/73144176
复制相似问题