search
LoginSignup
83

More than 3 years have passed since last update.

posted at

updated at

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

概要

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

参考サイト

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
What you can do with signing up
83