いつもお世話になっております。
dockerを使ってローカル環境の作成をしております。
下記のような docker-compose.yml
を作成しており、command
オプションにて起動時にシェルを実行したいと思っております。
docker-compose.yml
version: '3'
services:
php:
build: ./Dockerfiles/php
container_name: "laravel_php"
volumes:
- ./src:/var/www/html
working_dir: /var/www/html
command: ["php", "entrypoint.sh"]
tty: true
stdin_open: true
ただ、この状態で実行をすると、下記のようにコンテナが終了してしまいます。
$ docker-compose up
Recreating laravel_php ... done
Attaching to laravel_php
laravel_php | 2019/01/20 07:41:14 entrypoint.sh [INFO] Connection confriming...
laravel_php exited with code 0
$ docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0371439067da laravel_php "docker-php-entrypoi…" 11 seconds ago Exited (0) 10 seconds ago laravel_php
entrypoint.sh の中身はテストではechoしているだけのものになり、エラー等は発生しておりません。
#!/bin/bash
set -e
echo `date '+%Y/%m/%d %H:%M:%S'` $0 "[INFO] Connection confriming..."
command
オプションを設定せずに docker-compose up
は正常に起動し続けて、コンテナ内に入って、実行は出来ております。
これを、 command
を実行した後も、起動し続けるようにしたいのですが、その方法をご教授頂きたく投稿をさせていただきました。
何卒、よろしくお願いいたします。