m.yoshida
2023年12月8日 14時14分
コンテナ起動時にコンテナ内にインストールした後に
再度コンテナを起動する場合にSSH、 postgresqなど起動しません。
何か方法ありますでしょうか?
コメント
m.yoshida
m.yoshida
at_shinya.koga
アットマークテクノの古賀です。
m.yoshidaさん:
sudo -u postgres /usr/lib/postgresql/13/bin/postgres -D /etc/postgresql/13/main
>上記の箇所実行結果後
LOG: 42501: could not change directory to "/root": Permission denied LOCATION: resolve_symlinks, exec.c:321
>などと出ますが、対処方法ありますでしょうか?
'sudo -u' を 'sudo -Hiu' に変えると、どうなるでしょうか?
m.yoshida
アットマークテクノ 古賀様
> 'sudo -u' を 'sudo -Hiu' に変えると、どうなるでしょうか?
2023-12-13 06:22:03.694 UTC [33] LOG: starting PostgreSQL 13.13 (Debian 13.13-0+deb11u1) on arm-unknown-linux-gnueabihf, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 32-bit 2023-12-13 06:22:03.700 UTC [33] LOG: listening on IPv6 address "::1", port 5432 2023-12-13 06:22:03.702 UTC [33] LOG: listening on IPv4 address "127.0.0.1", port 5432 2023-12-13 06:22:03.730 UTC [33] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2023-12-13 06:22:03.765 UTC [35] LOG: database system was shut down at 2023-12-13 06:12:56 UTC 2023-12-13 06:22:03.840 UTC [33] LOG: database system is ready to accept connections
上記のログが表示されました。
at_shinya.koga
アットマークテクノの古賀です。
m.yoshidaさん:
>>'sudo -u' を 'sudo -Hiu' に変えると、どうなるでしょうか?
>
2023-12-13 06:22:03.694 UTC [33] LOG: starting PostgreSQL 13.13 (Debian 13.13-0+deb11u1) on arm-unknown-linux-gnueabihf, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 32-bit 2023-12-13 06:22:03.700 UTC [33] LOG: listening on IPv6 address "::1", port 5432 2023-12-13 06:22:03.702 UTC [33] LOG: listening on IPv4 address "127.0.0.1", port 5432 2023-12-13 06:22:03.730 UTC [33] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2023-12-13 06:22:03.765 UTC [35] LOG: database system was shut down at 2023-12-13 06:12:56 UTC 2023-12-13 06:22:03.840 UTC [33] LOG: database system is ready to accept connections
>上記のログが表示されました。
postresql が起動して接続待ちになったように見えますね。
これで問題ないように思えますが、もし、
sudo -Hiu postgres /usr/lib/postgresql/13/bin/postgres -D /etc/postgresql/13/main
をシェルから対話実行されて、シェルプロンプトが出ないので以後の操作ができない、という場合には、
sudo -Hiu postgres /usr/lib/postgresql/13/bin/postgres -D /etc/postgresql/13/main &
のようにして、バックグランド実行してみてくださいませ。
いかがでしょうか?
m.yoshida
at_shinya.koga
2023年12月8日 17時48分
アットマークテクノの古賀です。
m.yoshida
>コンテナ起動時にコンテナ内にインストールした後に
>再度コンテナを起動する場合にSSH、 postgresqなど起動しません。
>何か方法ありますでしょうか?
次の方法でやってみて下さい。
1.) コンテナ内に、自動起動したいプログラムの起動コマンド列と、末尾行に 'sleep infinity' を記載したスクリプトを作る。
2.) podman commit コマンドで、コンテナ内容をイメージに保存する。
3.) (2) のコンテナイメージから生成・起動するコンテナの .conf ファイルを作って /etc/atmark/containers/ に配置する。
4.) (3) の .conf ファイルの set_command 行で、(1) のスクリプトを実行コマンドとして指定する。
5.) ABOS の podman_start コマンドで、(3) のコンテナを生成・起動する。
たとえば、次のような感じです:
いかがでしょうか?