我试图在Ubuntu docker容器内运行一个bash文件,我试图修改Postgresql,postgresql.conf和pg_hba两个文件.conf文件,这里是我试图运行bash的文件:没有这样的文件或目录sed命令运行在Docker容器内的bash文件中
sed -i -e"s/^#listen_addresses.*$/listen_addresses = '*'/"
/var/lib/postgresql/data/postgresql.conf
echo "host all all 0.0.0.0/0 md5" >>
/var/lib/postgresql/data/pg_hba.conf
/etc/init.d/postgresql restart
这里是如何我试图运行它:
[email protected]: ./db.sh
db.sh是bash的名称文件,文件postgresql.conf位于我使用/ var/lib/postgresql/data /的路径中,但是我收到以下消息:
: No such file or directorystgresql/data/postgresql.conf
怪异的是,如果运行的是bash外的命令中的每一个文件,它工作正常,像这样:
[email protected]:/# sed -i -e"s/^#listen_addresses.*$/listen_addresses = '*'/" /var/lib/postgresql/data/postgresql.conf
这是搬运工,撰写文件中的一部分,其中i “M复制我的本地文件的bash到postgrest图像
volumes:
- pgdata:/var/lib/postgresql/data
- ./shell_scripts:/shell_scripts
volumes:
pgdata:
您使用的是什么postgresql docker镜像?也许你正在使用一个没有像sed这样的基本shell工具的镜像。 – PressingOnAlways
我使用Postgres的不指定这样 DB版本: 图片:Postgres的 –
确保您使用的完整路径的脚本,即/var/lib/postgresql/data/postgresql.conf –