ドッカーコンテナのエントリポイントとしてシェルスクリプトを実行しようとしています。エントリポイントの定義時にDockerコンテナが再起動する
:このため、私はこのabc.Dockerfile
FROM ubuntu
COPY abc.sh/
RUN chmod +x /abc.sh
ENTRYPOINT /abc.sh
Dockerfileが正常に構築されますが、容器にexec
を行う上で、私はエラーを取得していますように私のDockerfileにエントリポイントを定義しました
$ docker exec -it drupaldocker_myapp_1 bash
Error response from daemon: Container ca32bafe2247e51d5e9b1a8f0cf83457ccecb29e8ff9747a8c98aa6a046b0550 is restarting, wait until the container is running
ドッカPSの出力リレー:
Raghav-Macbook:iflychat-server-development-system raghav$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca32bafe2247 drupaldocker_myapp "/bin/sh -c \"/abc.sh\"" 9 minutes ago Restarting (0) 2 minutes ago drupaldocker_myapp_1
マイドッキングウィンドウ-compose.ymlは
また、docker-compose up
は私にエラーを与えていない
version: '2'
services:
myapp:
build:
context: .
dockerfile: abc.Dockerfile
restart: always
tty: true
abc.sh
#!bin/sh
ls
cat /abc.sh
のように見えます。出力は次のようになります
Raghav-Macbook:drupal-docker raghav$ docker-compose up
Recreating drupaldocker_myapp_1
Attaching to drupaldocker_myapp_1
myapp_1 | oot etc lib media opt root sbin sys usr
myapp_1 | bin dev home lib64 mnt proc run srv tmp var
myapp_1 | #!bin/sh
myapp_1 |
myapp_1 | ls
この作業にはどのような変更が必要ですか?エントリポイントスクリプトが実行されるとdocker logs drupaldocker_myapp_1
abc.sh boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
#!bin/sh
ls
cat /abc.shabc.sh boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
#!bin/sh
ls
cat /abc.sh
EDIT 2
の
EDIT
出力は、コンテナが停止しますでしょうか?
'docker logs drupaldocker_myapp_1'の出力を投稿してください – kstromeiraos
このコンテナは何をする予定ですか?スクリプトは1秒以内に終了し、コンテナはスクリプトの再起動と再実行を繰り返します。 – tkausl
'docker run --restart = always'で起動しますか? – user2915097