對于使用Docker作為數據庫的用戶來說,經常遇到一個問題就是每次重啟或者重新創建容器后,都需要手動啟動數據庫服務。這樣的操作非常繁瑣,為了解決這個問題,我們可以通過修改容器的啟動腳本來完成自動啟動。
具體步驟如下:
1. 進入PG容器所在的主機,使用docker ps命令查看容器的ID: docker ps -a 2. 進入容器的bash環境: docker exec -it 容器ID bash 3. 安裝supervisor: apt-get update apt-get install supervisor 4. 創建supervisor的配置文件: mkdir -p /etc/supervisor/conf.d touch /etc/supervisor/conf.d/pg.conf 5. 編輯pg.conf,寫入以下內容: [program:postgresql] directory=/etc/postgresql/9.6/main command=/usr/lib/postgresql/9.6/bin/pg_ctl -D /data/pgdata start autostart=true autorestart=true stderr_logfile=/var/log/postgresql/postgresql.log stdout_logfile=/var/log/postgresql/postgresql.log 6. 退出容器,將容器提交并重新創建容器即可。
現在,每次啟動容器,supervisor將會自動啟動PG服務,讓我們不再需要手動啟動數據庫服務了。