LoginSignup
0
0

More than 3 years have passed since last update.

よく利用するDocker, Docker-compose コマンド

Last updated at Posted at 2020-03-21

Docker

Dockerの起動

$ sudo systemctl start docker

Docker hubへのログイン/ログアウト

$ docker login/logout

Docker image一覧

$ docker image ps

REPOSITORYはイメージの名前。

Docker image ダウンロード

$ docker image pull [オプション] [イメージ名:タグ名]
$ docker image pull [URL]
例:
$ docker image pull centos:7

DockerへアップロードしたImageをダウンロードすることも可能。
$ docker pull [dockerhubのユーザ名]/[イメージ名:タグ名]

タグ名を省略されると、最新版がダウンロードされます。-aオプションを指定すると、すべてのイメージがダウンロードされます。

Docker imageの詳細

$ docker image inspect centos:7

イメージID、作成日、Dockerバージョン、CPUアーキテクチャ

Dockerでイメージにタグ名を設定

$ docker image tag [イメージ名] [dockerhubユーザ名]/[コンテナ名]:[バージョン]

イメージの検索

$ docker search --limit 検索キーワード

未使用のdockerイメージの削除

$ docker image prune [オプション]
オプション:
--all, --a 使用していないイメージをすべて削除
--force, --f イメージを強制的に削除する

Docker container一覧

$ docker container ps
$ docker ps -all

Docker container 起動/停止/削除

$ docker container run/start/stop/rm [コンテナ名]
------
runは生成&起動です。
-dオプションをつけると、バックグラウンドで動きます。

コンテナのログの確認

$ docker container logs -t [コンテナ識別子]

コンテナ起動の最も簡単な一例

$ docker container run -it --name "test1" centos /bin/cal
------
docker container runはコンテナを作成、実行
-itはコンソールに結果を出すオプション
--name "test1"はコンテナ名
centosはイメージ名
/bin/cal/はコンテナで実行するコマンド。/bin/bashを入力すると、コンテナ内でシェルを実行することもできます。

Dockerイメージの中に入る

イメージの一覧からログインしたいイメージを確認します。
$ docker images
REPOSITORYカラムに表示されている名称を指定して、以下のコマンドでイメージにログインします。
$ docker run --rm -t -i イメージ名 /bin/bash

container 稼動確認

$ docker container stats コンテナ名

コンテナへ入る

$ sudo docker exec -it [コンテナID] bash

containerの起動/停止

$ docker start/stop コンテナ名

Dockerの実行環境確認
コンテナの数、Dockerのバージョン、ストレージドライバの種類、OSの種類、アーキテクチャ

$ docker system info

Dockerのディスク利用状況(詳細確認-v)

$ docker system df

Docker 応用編

$ docker container run --name webserver -d -p 8080:80 nginx

Dockerイメージnginxを使ってwebserverという名前のDockerコンテナを起動します。その際、ブラウザからHTTP80番ポートでのアクセスを許可するため、-pオプションでコンテナからの転送を許可しています。
ホストの8080ポートにアクセスすると、コンテナ上で動作しているNginx(80番ポート)のサービスにアクセスできます。また、指定したレンジのポート番号を割り当てたいときは、--exposeオプションを使用します。さらに、ホストマシンの任意のポートを割り当てるときは、-Pオプションを使用します。

そのほかに、DNSサーバ、MACアドレスの指定も可能です。

コンテナをtarファイル出力

$ docker container export [コンテナ識別子]
例:
$ docker container export [コンテナ識別子] > [ファイル名.tar]
生成されたtarファイルの中身を確認する。

$ tar -tf [tarファイル名] | more

Docker-compose

Dockerコンテナのシェルの中に入る

$ docker exec -i -t コンテナ名 bash

複数のDockerコンテナの起動/リソース削除/停止/確認

$ docker-compose up/down/stop/ps/logs

Compose定義ファイルのバージョンとDokcer Engineのバージョンにマッピング関係があります。
それぞれに対応するバージョンがあります。

コンテナの生成

$ docker-compose up --build

任意の名前のDockerfileをビルドするときは、[dockerfile]を指定します。その際、DockerfileがあるディレクトリのパスやGitレポジトリのURLをcontextで指定します。

services:
 webserver:
  build:
   context: /data
   dockerfile: Dockerfile-alternate

一発でコンテナを削除
https://qiita.com/shisama/items/48e2eaf1dc356568b0d7

0
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
0
0