Help us understand the problem. What is going on with this article?

Dockerのコンテナを起動したままにする

More than 1 year has passed since last update.

概要

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

参考サイト

reflet
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away