LoginSignup
1
2

More than 3 years have passed since last update.

Docker

Last updated at Posted at 2020-08-09

Docker

CentOS7で実施

■Dockerインストール

wget -qO- https://get.docker.com/ | sh
rpm -q docker-ce

■dockerサービスの起動

systemctl start docker

■dockerサービスの有効化

systemctl enable docker

■user01をdockerグループに所属させ、docker管理コマンドを実行できるようにする

usermod -G docker user01

■user01でログイン

■DockerHubにあるイメージのサーチ

docker search centos

DockerレジストリからDockerイメージをダウンロードする

docker pull {イメージ名} : {タグ名}

例)
docker pull centos:latest
docker pull centos:centos6
docker pull ubuntu

ダウンロードしたDockerイメージの一覧を確認する
docker images

■ローカルのイメージコンテナ一覧表示

docker image ls

■DockerHubにあるイメージをDockerホストにダウンロード

docker image pull centos:7

■確認

docker image ls

■DockerHubにあるイメージubuntuのlatestタグの付いたイメージをダウンロード

docker image pull ubuntu:latest

■Dockerコンテナを作成・実行

書式
docker run [オプション][--name {コンテナ名}] {イメージ名}[:{タグ名}][コンテナで実行するコマンド][引数]

主なオプション
  -d : バックグラウンドで実行する(後述)。既定では、コンテナーをフォアグラウンドで実行するため、
Webサーバーやアプリケーションサーバーなど常時実行するコンテナーで指定。
  -i : コンテナーの標準入力を開く。/bin/bashなどでコンテナーを操作する際に指定する。
  -t : tty(端末デバイス)を確保する。/bin/bashなどでコンテナーを操作する際に指定。
  -p : {ホストのポート番号}:{コンテナーのポート番号}:Dockerサーバーのホストと
ポートマッピングを構成
例)
docker run -i -t centos
exit

docker run -i -t ubuntu
apt-get update

OSのバージョン確認
cat /etc/lsb-release

確認
docker ps

①Dockerコンテナ操作
ダウンロードしたDockerホストにあるcentosイメージからDockerコンテナを作成

docker container run centos:7 echo "hoge hoge"

■Dockerコンテナの一覧を取得する
docker ps [-a]
-a : 停止中のコンテナも表示されます。

②Dockerコンテナ操作 動作中のコンテナがないことを確認

docker container ls

③作成したコンテナが自動停止されていることを確認
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e72f15246a5e centos:7 "echo 'hoge hoge'" 19 seconds ago Exited (0) 18 seconds ago adoring_driscoll

■Dockerコンテナの起動
docker start { コンテナ名 | コンテナID }

④docker container runコマンドを実施し、ダウンロードしたDockerホストにあるcentosイメージを使用してDockerコンテナを作成
-itオプションとbashコマンドを実施して、コンテナの作成と同時にシェルを起動し、コンテナ内のシェルを使い、コマンド実行できるようにする

docker container run -it centos:7 bash

[root@97f5cba069e6 /]#

ps -elf
exit

docker container ls -a
CONTAINER ID        IMAGE               COMMAND              CREATED              STATUS                        PORTS               NAMES
97f5cba069e6        centos:7            "bash"               About a minute ago   Exited (127) 12 seconds ago                       lucid_fermat
e72f15246a5e        centos:7            "echo 'hoge hoge'"   11 minutes ago       Exited (0) 11 minutes ago                         adoring_driscoll

■デタッチモードでDockerコンテナの起動

docker container run -d centos:7 ping -c 50 127.0.0.1
docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
2b1803680bff        centos:7            "ping -c 50 127.0.0.1"   20 seconds ago      Up 19 seconds                           peaceful_dubinsky

■実行結果を確認 引数のCONTAINER IDは一部でよい

docker logs 2b1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.040 ms

■Dockerコンテナへの接続
docker attach {コンテナ名 | コンテナID }

■Dockerコンテナの端末からデタッチとアタッチ
①bashを起動したdockerコンテナに接続し、コンテナの端末に接続

docker container run -it centos:7 bash

②Dockerコンテナの端末からデタッチ
ctrl+p ctrl+q (ctrlキーは押したまま)

③デタッチしたDockerコンテナの端末にアタッチ

 docker container attach 24e
[root@24e504ac64fc /]#

④exitでコンテナのシェルを終了。コンテナは自動停止される

[root@24e504ac64fc /]# exit
exit
[user01@localhost ~]$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1
2
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
1
2