UniServer / UniPrint / UniHttpd


Tips/ArchLinux/Docker/リファレンス


コンテナの生成・起動

$ docker run [オプション] [イメージ名:タグ名] [引数]
オプション説明
--nameコンテナ名を指定docker run --name "test" centos
-dバッググラウンド実行docker run -d centos
-itコンソールに結果を出力docker run -it --name "test" centos /bin/cal
-p host:contポートフォワーディングdocker run -d -p 8080:80 httpd
--add-hostホスト名とIPを指定docker run -it --add-host=test.com:192.168.1.1 centos
--dnsDNSサーバを指定docker run --dns=192.168.1.1 httpd
--mac-addressMACアドレスを指定docker run -it --mac-address="92:d0..." centos
--cpu-sharesCPU配分 (全体で1024)docker run --cpu-shares=512 centos
--memoryメモリの上限docker run --memory=512m centos
-vディレクトリの共有docker run -v /c/Users/src:/var/www/html httpd
-e環境変数を設定docker run -it -e foo=bar centos /bin/bash
--env-file環境変数リストから設定docker run -it --env-file=env_list centos /bin/bash
-w作業ディレクトリを指定docker run -it -w=/tmp/work centos /bin/bash

稼働中のコンテナ操作

説明コマンド例(コンテナID=CID)
コンテナ一覧docker ps [オプション]docker ps
コンテナ確認docker stats コンテナIDdocker stats CID
コンテナ起動docker start [オプション] コンテナIDdocker start CID
コンテナ停止docker stop [オプション] コンテナIDdocker stop CID
コンテナ再起動docker restart [オプション] コンテナIDdocker restart CID
コンテナ削除docker rm [オプション] コンテナIDdocker rm CID
コンテナ中断docker pause コンテナIDdocker pause CID
コンテナ再開docker unpause コンテナIDdocker unpause CID
コンテナ接続docker attach コンテナIDdocker attach CID
コンテナログdocker logs [オプション] コンテナIDdocker logs CID
プロセス実行docker exec [オプション] コンテナID コマンド [引数]docker exec -it CID /bin/cal
プロセス確認docker top コンテナIDdocker top CID
ポート確認docker port コンテナIDdocker port CID
コンテナ名変更docker rename 現在名 新しいコンテナ名docker rename now new
イメージ差分docker diff コンテナIDdocker diff CID
ファイルコピーdocker cp コンテナID:ファイル パスdocker cp CID:/var/www/a.txt /Users/foo/
イメージの作成docker commit [オプション] コンテナID イメージ名[:タグ名]docker commit CID my_image:1.0
イメージを.tarへ出力docker export コンテナIDdocker export CID
.tarからイメージ作成docker import パスorURL - イメージ名[:タグ名]cat src.tar|docker import - web:1.0
イメージ保存docker save [オプション] 保存ファイル名 [イメージ名]docker save -o src.tar web
イメージロードdocker load [オプション]docker load -i sec.tar

イメージ操作

説明コマンド例(イメージID=IID)
pulldocker pull [オプション] イメージ名[:タグ]docker pull centos:7
一覧docker images [オプション] [リポジトリ名]docker images -a
詳細docker inspect [オプション] [イメージID]docker inspect IID
検索docker search [オプション] [キーワード]docker search nginx
削除docker rmi [オプション] イメージ名docker rmi nginx
ログdocker logs [オプション] イメージ名docker logs nginx
タグ変更docker tag [イメージID] [リポジトリ名]:[タグ]docker tag IID hello-world:new_tag

Docker Compose

説明コマンド
コンテナ生成・起動docker-compose up [オプション] [サービス]docker-compose up -d
生成コンテナ数docker-compose scale [サービス=数]docker-compose scale web=10
コンテナ一覧docker-compose ps [オプション]docker-compose ps
コンテナログdocker-compose logs [オプション] [サービス]docker-compose logs
コマンド実行docker-compose run [オプション] [サービス] [コマンド]docker-compose run web /bin/cal
全コンテナ起動docker-compose start [サービス]docker-compose start
全コンテナ再起動docker-compose restart [オプション] [サービス]docker-compose restart
全コンテナ強制停止docker-compose kill [オプション] [サービス]docker-compose kill
全コンテナ削除docker-compose rm [オプション] [サービス]docker-compose rm
全コンテナをビルドdocker-compose build [オプション]docker-compose build --no-cache

DockerFile

説明コマンド
元となるイメージFROMFROM name/web:ver1.0
作成者MAINTAINERMAINTAINER name
環境変数ENVENV KEY=VALUE
指定のコマンドの実行RUNRUN yum -y install httpd
イメージにファイル追加ADDADD index.html /var/www/html/index.html
ポート番号を指定EXPOSEEXPOSE 3306
コンテナ起動時に実行するコマンドCMDCMD ["service","httpd","start"]
カレントディレクトリを指定WORKDIRWORKDIR /var/www/html
ボリューム指定VOLUMEVOLUME /var/log/httpd

Docker Hub

説明コマンド
ログインdocker login [オプション] [サーバー]docker login -u "name" -p "pass"
ログアウトdocker logout [サーバ名]docker logout
アップロードdocker push ユーザ名/イメージ名[:タグ名]docker push user/my_image:v1.0

Docker本体の情報

説明コマンド
バージョン確認docker version
実行環境確認docker info

Dockerコンポーネント
Dockerはコア機能を提供する「Docker Engine」を中心に「イメージの作成→公開→コンテナ実行」を行うためのコンポーネント(部品)が提供されています

主なコンポーネントは次の通り

Docker Engine(Dockerのコア機能)
Docker イメージの生成やコンテナの軌道などを行うためのコア機能

Dockerコマンドの実行やDockerFileによるイメージの生成を行う

Docker Machine(Docker実行環境構築)
VirtualBoxをはじめ、AWSやAZUREなどのクラウド環境などにDockerの実行環境をコマンドで自動生成するツール
Docker Compose(複数コンテナの一元管理)
複数コンテナの構成情報をコードで定義して、コマンドを実行することでアプリケーションの実行環境を構成するコンテナ群を一元管理するためのツール
Docker Swarm(クラスタ管理)
Docker Swarmは複数のホストをクラスタ化するためのツール

クラスタの管理やAPIの提供を行う役割が「Manager」、Dockerコンテナを実行する役割が「Node」という

Docker Kitematic(DockerのGUIツール)
Dockerイメージの生成やコンテナの起動などを行うためのGUIツール

グラフィカルなUIなので非エンジニアの方に最適

Docker Registry(イメージの公開・共有)
コンテナの元となるイメージを公開・共有する為のレジストリ機能
Docker Hub(Docker公式のレジストリ)
CentOS・nginxなどの公式イメージはこのレジストリから取得する

publicなので多くのユーザーによる自作のイメージが公開されている


 

Copyright © UTL Co.,Ltd. All Rights Reserved. [UTL]