我試圖在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 –