概要
dockerをデーモン指定して起動してもすぐに終了してしまうため、
起動したままにできないか調べたメモを残します。
コマンドを指定する
ターミナル
$ docker run -d java:8 /bin/sh -c "while :; do sleep 10; done"
docker-composeで試してみる
docker-compose.yml
version: '2'
services:
java:
image: java:8
container_name: java
command: /bin/sh -c "while :; do sleep 10; done"
Dockerfileにしてみた
Dockerfile
FROM java:8
WORKDIR /root
ENTRYPOINT ["/bin/sh", "-c", "while :; do sleep 10; done"]
ターミナル
## イメージ作成
$ docker build -t my/java .
$ docker images
## コンテナ起動
$ docker run -d my/java
$ docker ps -a
追記
docker-composeで「tty:true」とすると起動しっぱなしになるようなので、上記方法は不要となりました。
docker-compose.yml
version: '2'
services:
java:
image: java:8
container_name: java
tty: true
※ docker-compose up したコンテナを起動させ続ける方法
追記
@dlpyvim さんからのコメントで、下記のやり方でも起動したままにできるようですね。
ターミナル
$ docker run -itd java:8 /bin/sh