LoginSignup
2
0

More than 1 year has passed since last update.

Dockerイメージからコンテナを立ち上げる

Posted at

背景

Dockerイメージからコンテナを立ち上げる方法が毎回「どうやるんだっけ」となっているので、メモしておく。

ちゃんと検証してないので、間違っていたらすみません!自分用のメモです!

結論

foo@gpu:~$ docker run -it --name container_name -d -p 5060:5000 \
-e SOME_ENV=foobar -v /home/foo/bar:/var/bar --restart=unless-stopped \
image_name python /var/bar/baz.py
オプション(or上での文字列) 何をしているのか
-i コンテナの標準入力を開きます。
-t ttyをつなげます。
--name コンテナ名を指定します。
-d コンテナをバックグラウンドで実行します。
-p ホストとコンテナのポートをつなぎます。(例ではホストの5060とコンテナの5000をつなぐ。)
-e コンテナ内の環境変数を設定します。
-v マウントします。(例ではホストの/home/foo/barディレクトリとコンテナの/var/barディレクトリ)
--restart 停止した場合に自動再起動するかどうかのオプション(no/on_failure/on_failure:回数n/always/unless-stopped)
(image_name) 利用するDockerイメージ名を指定します。
(python /var/bar/baz.py) コンテナで実行するコマンド

※オプションは他にもありますが、基本的なものを列挙してます。

作ったコンテナに入るのは、以下。

foo@gpu:~$ docker exec -it container_name /bin/bash

補足

docker-composeで同じことをする場合は、以下のdocker-compose.ymlがあるのと同じディレクトリでdocker-compose up -dを実行します。

docker-compose.yml
version: '3.8'

services:
  container_name:
    image: image_name
    container_name: container_name
    stdin_open: true
    tty: true
    ports:
      - 5060:5000
    environment:
      - SOME_ENV=foobar
    volumes:
      - /home/foo/bar:/var/bar
    restart: unless-stopped
    command: python /var/bar/baz.py
2
0
0

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
  3. You can use dark theme
What you can do with signing up
2
0