dockerが起動してnginx、mysqlなどのサービスを開始する方法
dockerでsupervisorを使用してnginx、mysqlなどのプロセスを構成して自動的に起動します
文書ディレクトリ dockerでsupervisorを使用してnginx、mysqlなどのプロセスを構成し、 を自動的に起動します. 1.問題の説明 2.解決策 3.具体的な解決策 (1)supervisorではnginx,mysqlなどの自動再起動 を構成する.(2)docker実行コンテナCMDコマンドsupervisor を起動(3)docker execコマンドsupervisordサービス開始時にwarning が表示されます.
1.問題の説明
2.解決の考え方
3.具体的な解決策
(1)supervisorでnginx,mysqlなどの自動再起動を設定する
注意!注意!注意!
すべてのsupervisorが管理するプロセスはバックグラウンドモードを開くことができません.例えば、「service nginx start」のように、フロントモードで構成するしかありません.そうしないと、サービスはずっと再起動します.
プロファイルは一般的に/etc/supervisor/conf.d/に書かれ、ファイルの内容は以下の通りです.
nginxプロファイル:
mysqlプロファイル:
redisプロファイル(redis.confのdaemonをnoに変更し、redisバックグラウンドモードをオフにします):
(2)docker実行容器CMDコマンドsupervisor起動
(3)docker execコマンドsupervisordサービス開始時にwarningが現れる
ソリューション:
文書ディレクトリ
1.問題の説明
(1)docker nginx,mysql docker ;
(2) update-rc.d ;
(3)dockerfile , mysql mysql , :
"The command '/bin/sh -c usermod -d /var/lib/mysql mysql && /usr/sbin/nginx -c /etc/nginx/nginx.conf && /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf' returned a non-zero code: 1"
service mysql restart
(mysql )
(4) ,CMD msyql :
docker exec -it screen /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf
:/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot stat shared object: Permission denied
google
nginx CMD , nginx, pass
2.解決の考え方
CMD , nginx,mysql 。
, supervisor, supervisor nginx,mysql 。
3.具体的な解決策
(1)supervisorでnginx,mysqlなどの自動再起動を設定する
注意!注意!注意!
すべてのsupervisorが管理するプロセスはバックグラウンドモードを開くことができません.例えば、「service nginx start」のように、フロントモードで構成するしかありません.そうしないと、サービスはずっと再起動します.
プロファイルは一般的に/etc/supervisor/conf.d/に書かれ、ファイルの内容は以下の通りです.
nginxプロファイル:
[program:nginx]
command=/usr/sbin/nginx -g 'daemon off;'
autostart=true
autorestart=true
user=root
mysqlプロファイル:
[program:mysql]
command=/usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf
autostart=true
autorestart=true
user=root
redisプロファイル(redis.confのdaemonをnoに変更し、redisバックグラウンドモードをオフにします):
[program:redisd]
command=/usr/local/redis/bin/redis-server
priority=1001
autostart=true
startretries=3
autorestart=true
user=root
(2)docker実行容器CMDコマンドsupervisor起動
docker exec -it screen /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
(3)docker execコマンドsupervisordサービス開始時にwarningが現れる
Unlinking stale socket /var/run/supervisor/supervisor.sock
ソリューション:
unlink /var/run/supervisor/supervisor.sock