LoginSignup
3
1

More than 3 years have passed since last update.

Docker コマンド一覧

Last updated at Posted at 2019-09-16

Docker コマンド一覧

試してみたコマンド一覧

Dockerfileのビルド

$ docker image build -t [イメージ名]:[タグ名] [Dockerfileのパス]
# 例) docker image build -t test_image:test_tag .
# -t はイメージ名やタグ名を指定するため必須

イメージの操作

$ docker image pull [イメージ名]:[タグ名]
# docker hub からイメージをダウンロード

$ docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# すでにあるイメージなどに別名タグをつける

$ docker image rm IMAGE_ID
# 削除
# エラーが出て消せないけど強制削除する場合は -fをつける

# 全て削除する場合
$ docker images -aq | xargs docker rmi
# これも消せないイメージは -f をつける
# xargsはパイプライン前の結果を引き継ぎコマンドを打てるもの

コンテナの操作

$ docker container ps #動いているコンテナの一覧が見れる
$ docker container ps -a #止まっているコンテナも含めてみれる
$ docker container rm コンテナの名前かID #コンテナの削除
$ docker container run -t イメージの名前かID #コンテナをイメージから作成し、起動
# docker container create 

#オプション
-d #バックグラウンドで動かす
-p #ホスト側ポート番号:コンテナ側ポート番号

# 例) -p 9000:8080 だと localhost:9000でコンテナ側の8080にフォワードされる
# --name [名前] # コンテナに名前指定できる。指定しない場合は自動でつく

$ docker container stop 名前かID #コンテナの停止 
$ docker container restart 名前かID #コンテナの再起動
$ docker container exec コンテナの名前かID コマンド...
  # 起動中のコンテナにコマンド投げれる
  # 例)docker container exec -it [コンテナの名前かID] mysql -u root -p test_db
  # コンテナに立ち上げたMYSQLにログインして操作
  # -it はコンテナに接続した際にSSHみたいに中の動きを表示&コマンド操作できるようにする
  # コマンドをbashにするとコンテナ内に入って操作できる。
$ docker container exec -it [コンテナの名前かID] bash

docker-compose

$ docker-compose up -d
#docker-compose.ymlに記述した内容でイメージからビルド、ランなどさせる

$ dokcker-compose down
#docker-composeで起動したコンテナを全て終了させる

docker-compose.yml内容

# jenkinsのイメージは公式をみる
# https://github.com/jenkinsci/docker/blob/master/README.md
# コロンのあとは半角スペースを忘れない

version: "3" #ファイルフォーマットのバージョン
services:
  master: 
    container_name: master #コンテナ名の定義
    image: jenkins/jenkins:lts #dockerhubから取得するイメージ:タグ
    #ポート
    ports:
      - 8080:8080 #ホスト側ポート:#コンテナ側ポート
    #マウント
    volumes: 
      - ./jenkins_home:/var/jenkins_home #ホスト側ディレクトリ:コンテナ側ディレクトリ

composeの中の項目の一覧はそのうち別でまとめる

docker network

  • コンテナ間の通信で使う
$docker network create ネットワーク名 #ネットワーク作成
$docker network ls #ネットワーク一覧表示
$docker network rm ネットワーク名 #ネットワークの削除
$docker network inspect ネットワーク名
#ネットワークの詳細表示 どのコンテナが接続されているか確認できる。

一括削除

$ docker image prune -a #イメージの一括削除
$ docker container prune #コンテナの一括削除

用語

  • dind
    • docker in docker コンテナ内にコンテナを立てること

そのうち一旦完成予定

3
1
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
3
1