【Docker】基本的なコマンドと使用方法

目次

イメージ選び

どのイメージを使用するかを選びます。Docker Hubからイメージを探します.

1
docker search イメージ名

Ubuntuのイメージを探したい場合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 13023 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 581 [OK]
websphere-liberty WebSphere Liberty multi-architecture images … 281 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 255 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 243 [OK]
ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 113 [OK]
neurodebian NeuroDebian provides neuroscience research s… 86 [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 50 [OK]
open-liberty Open Liberty multi-architecture images based… 48 [OK]
ubuntu-debootstrap DEPRECATED; use "ubuntu" instead 44 [OK]
i386/ubuntu Ubuntu is a Debian-based Linux operating sys… 25
solita/ubuntu-systemd Ubuntu + systemd 24 [OK]
fnndsc/ubuntu-python3 A slim Ubuntu-based Python3 image 24 [OK]

イメージのダウンロード

ダウンロードしたいイメージ名指定してイメージをダウンロードします。

  • バージョンの指定がない場合は、最新バージョンを自動で選択します。
    1
    docker pull イメージ名:バージョン

Ubuntuのバージョン20.04を指定してダウンロードする

1
$ docker pull ubuntu:20.04

イメージの確認

ダウンロードしたイメージが正常にダウンロードできたかを確認します。

  • 下の2つのコマンドはどちらも表示される内容は同じです
    1
    2
    docker image ls
    docker images
1
2
3
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 20.04 d5ca7a445605 12 days ago 65.6MB

コンテナの作成

DockerにはコンテナのもとになるImage,Imageのコピーで実際に実行するコンテナがあります。
手順としては、Imageからコンテナの作成、コンテナをどう使うかを指定して実行の手順になります。

  • create : コンテナを作成するコマンドです
  • p : コンテナとホストのポートをつなぐことで、コンテナ内で起動したサーバーなどにホストのブラウザからアクセスできるようになります。あとから設定することは基本的にはできません。railsやnginxを使用する場合は設定を忘れないようにしましょう。
  • name : コンテナに名前をつけます。省略した場合自動で名前がつけられます。

以下の2つはないとstartでコンテナを起動してもすぐに終了してしまいます。

  • i : 標準入力をつなげる。

  • t : 標準出力をつなげる。outputなのでoっぽいがt(tty)らしい

    1
    docker create -it -p ホスト側のポート:コンテナ側のポート --name コンテナ名 元にするイメージ名orイメージID
  • Ubuntuコンテナの作成

    • 今回はポートの指定はせずに作成します。
      1
      docker create --name dev_ubuntu ubuntu:20.04

コンテナの確認

作成しているコンテナの確認は、psコマンドでできます。しかしpsコマンドだけでは、起動中のコンテナのみの表示になってしまいます。停止しているすべてのコンテナを確認したい場合は、ps -aで確認できます。

1
docker ps -a

コンテナを起動

作成済みのコンテナは作成時には停止しているので、起動する必要があります。

1
docker start コンテナ名orコンテナID

ubuntuの場合

1
docker start dev_ubuntu

起動中のコンテナとターミナルをつなげる

起動中のコンテナとターミナルの入出力をつなげるには、2種類の方法がある。細かい違いはあるがとりあえずこの違いあると思っておくといいと思います。

  • attach : exitで抜け時にコンテナを停止させる
  • exec : exitで抜けても停止しない

以下の2つのコマンドをつける事によって

  • i : 標準入力をつなげる
  • t : 標準出力をつなげる。outputなのでoっぽいがt(tty)らしい
    1
    2
    docker attach -it コンテナ名 /bin/bash
    docker exec -it コンテナ名 /bin/bash

コンテナを抜ける

exitコマンドを使います。

コンテナとの接続時にattachexecどちらを使っていたかによってコンテナが止まるかどうかが変わります

Author

Daiki Iijima

Posted on

2021-10-04

Updated on

2024-04-17

Licensed under