0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Dockerの ENTRYPOINT 実行直後、コンテナを起動し続ける方法

Posted at

Laravel@ECS(Docker)でアプリケーションを作っています。
Dockerコンテナ(phpコンテナ)起動直後に何かしらコマンドを打ちたいとき、ENTRYPOINT を使うことがあるとおもいますが、ENTRYPOINTを実行したあとコンテナが終了してしまうので、それの回避方法です。

やりたいこと

phpコンテナ起動直後、laravel の artisanコマンドでキャッシュを生成したい。

実現方法

以下のように cache.sh を用意して、cache.shをDockerfileのENTRYPOINTで実行させます。
ファイルの最後に php-fpm を実行させるのが肝です。

cache.sh
#!/bin/sh

# キャッシュクリア
php /app/artisan event:clear
php /app/artisan view:clear
php /app/artisan route:clear
php /app/artisan config:clear
php /app/artisan clear-compiled

# キャッシュ生成
php /app/artisan config:cache
php /app/artisan route:cache
php /app/artisan view:cache

# php-fpm起動
php-fpm  <============= ここが肝です。

Dockerfileは以下の感じ

Dockerfile
<中略>
 :
COPY cache.sh /usr/local/bin/cache.sh
RUN chmod 777 /usr/local/bin/cache.sh
ENTRYPOINT  ["/usr/local/bin/cache.sh"]

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?