blog

docker(I)---dockerを使い始める

dockerが何をするものなのか、簡単な文章で説明します。 dockerはコンテナを作成・管理するものです。dockerの中にはたくさんのコンテナが格納されていると理解できます。 コンテナとは、基本的...

Jul 10, 2020 · 4 min. read
シェア

docker

docker が何をするのかを簡単に説明します。

  • dockerはコンテナを作成・管理するためのものです。dockerの中には多くのコンテナが格納されていることが理解できます。
  • コンテナとは、基本的な使用環境のみを持ち、内部でプログラムを実行することができる、リナックスシステムのライトバージョンです。
  • コンテナの作成はイメージに依存します。イメージはテンプレートとみなすことができ、dockerはイメージに基づいてコンテナインスタンスを生成することができます。そうすれば、docker はそのイメージに基づいて mysqlコンテナを生成できるので、docker で実行して mysql 専用のシステムを使うことができます。
  • コンテナは、プロジェクトが実行するためにmysql、nginxの環境を必要とするような、あなたは直接プロジェクトが使用するためにmysqlとnginxのコンテナを作成することができます、ダウンロード、インストール、サーバー上でこれらの環境を設定する必要はありません、コンテナは、必要なものに含まれているなど、多くのことを簡単に行うために存在しています。同時にコンテナはまた、そのようなサーバーを切り替える必要があるとして、移植することは非常に簡単にすることができます、これらのプロジェクトは、コンテナを使用している直接別のサーバー上で離れてパッケージ化することができます。

docker

  • マシンに docker をインストールしている場合は、まず古いバージョンをアンインストールしてください。

    $ sudo yum remove docker \
     docker-client \
     docker-client-latest \
     docker-common \
     docker-latest \
     docker-latest-logrotate \
     docker-logrotate \
     docker-engine
    
  • リポジトリを使用したインストール

    初めて新しいホストにDocker Engineをインストールするときは、Dockerリポジトリをセットアップする必要があります。その後、リポジトリからDockerをインストールしたりアップデートしたりできます。

    yum-utilsパッケージをインストールし、安定したリポジトリをセットアップします。

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager \
     --add-repo \
     https://..com/linux/centos/docker-.repo
    
  • インストールが完了したら、以下のコマンドを実行してインストールが成功したことを確認します。

$ docker version
#  
$ docker info

Hello Word

例えば、今すぐnginxが必要な場合、最初に

docker pull nginx # デフォルトは最新バージョン、バージョン指定が必要な場合はnginxのみ:version

プルに成功したら、docker イメージを使って

[root@izbp109k5j3dul0ejalpf5z html]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 4571e56e27f0 2 days ago 132MB

次にコンテナを起動します。

[root@izbp109k5j3dul0ejalpf5z html]# docker run nginx		# nginxコンテナを起動する

起動成功後のコンテナ dockers ps の表示

docker共通コマンド

  • コンテナ情報の表示

    ##dockerコンテナのバージョンを表示する
    docker version
    ##ドッカーコンテナ情報を表示する
    docker info
    ##dockerコンテナのヘルプを表示する
    docker --help
    
  • イメージの一覧表示

    ##ローカルイメージを一覧表示する
    docker images
    ##中間イメージ層を持つ
    docker images -a
    ##Redisの最新イメージをダウンロードする。:latest
    docker pull redis
    ##リポジトリからすべてのRedisImageをダウンロードする
    docker pull -a redis
    ##単一イメージの削除、以下と同等: docker rmi redis:latest
    docker rmi redis
    ##強制削除
    docker rmi -f redis
    ##空白を含む複数のImageを削除する。
    docker rmi -f redis tomcat nginx
    ##ローカルイメージをすべて削除する
    docker rmi -f $(docker images -q)
    
  • コンテナ操作

    ##新規コンテナを作成し、以下のパラメータを指定してコンテナを起動する:-i:コンテナを対話モードで実行する、-t:コンテナに擬似入力ターミナルを再割り当てする、--name:コンテナに名前を割り当てる
    docker run -i -t --name mycentos
    ##d daemonコマンドで、コンテナをバックグラウンドで起動する。
    docker run -d mycentos
    ##停止している1つ以上のコンテナを起動する
    docker start redis
    ##コンテナを再起動する
    docker restart redis
    ##コンテナに入る
    docker exec -i -t centos /bin/bash
    ##実行中のコンテナを表示する
    docker ps
    ##実行中のコンテナのIDを表示する
    docker ps -q
    ##実行中のコンテナを表示する+実行中のコンテナの履歴
    docker ps -a
    ##実行中のコンテナの総ファイルサイズを表示する
    docker ps -s
    ##実行中のコンテナを停止する
    docker stop redis
    ##実行中のコンテナを強制終了する
    docker kill redis
    ##停止中のコンテナを削除する
    docker rm redis
    ##実行中のコンテナを削除する
    docker rm -f redis
    ##複数のコンテナを削除する
    docker rm -f $(docker ps -a -q)
    docker ps -a -q | xargs docker rm
    ## -l dbという名前のコンテナ間のネットワーク接続を削除する
    docker rm -l db 
    ## -v コンテナを削除し、コンテナがマウントされたデータボリュームを削除する
    docker rm -v redis
    
Read next

永続ボリュームと永続ボリューム宣言、ローカル永続ストレージの作成

PVCはクラスタ内のストレージ・リソースで、管理者によって作成されるか、動的に提供されます。ノード・リソースと同様に、どのネームスペースにも属さず、独自の独立したライフサイクルを持ちます。ユーザは...

Jul 10, 2020 · 10 min read