LoginSignup
10
7

More than 5 years have passed since last update.

Dockerを触ってみた

Last updated at Posted at 2016-01-27

概要

macbookにCentOS7 in Vagrant環境を構築してそのCentOSの中でdockerを試してみた。普段GHEで業務しているのでDockerHubとかの関連性は理解しやすかったです。

やったこと

dockerHubの登録

いろいろDockerコマンド叩く

いろいろ

  • リポジトリの検索
    • docker search 検索名
    • webのdockerhubから検索してくれる
  • リポジトリのDL
    • docker pull -a username/リポジトリ
    • aはすべてのバージョンをダウンロード
  • ローカルにあるリポジトリ一覧
    • docker images
    • ダウンロードしたり作成したリポジトリの一覧
  • スナップショットの複製
    • docker commit コンテナ名 username/リポジトリ名:tag
  • dockerHubへのログイン
    • docker login
  • dockerHubへのpush
    • docker push username/リポジトリ名
  • コンテナ情報の表示。停止中も含む。
    • docker ps -a

コンテナー

  • コンテナイメージ作成
    • docker build -t username/リポジトリ名:tag Dockerfileの場所
  • コンテナの起動
    • docker run -it --name コンテナの名前 username/リポジトリ:tag シェル
    • コンテナ起動時にスナップショットを作成するみたい。このスナップショットがルートファイル・システムだと理解
  • コンテナ接続
    • docker attach コンテナ名
  • コンテナ停止
    • docker stop コンテナ名
  • コンテナの再起動
    • docker start コンテナ名
  • コンテナ破棄
    • docker rm コンテナ名

コマンド実行

  • コンテナに接続しないでコマンドを実行
    • docker exec コンテナ名 実行したいコマンド

プライベートリポジトリ作成

  • 複製でプライベートリポジトリ用を作成
    • docker commit コンテナ名 IP:Port/username/リポジトリ名:tag

Dockerfile

  • コンテナイメージの作成手順を記載したファイル
  • これと合わせて実際にコンテナで使用するファイルを準備して、Dockerfileと同じディレクトリに入れる必要がある。

わかったこと

  • コンテナイメージはコンテナのルートファイル・システムになる
  • DockerHubはコンテナイメージを管理。各ユーザのリポジトリにはコンテナイメージの複数のバージョンがある。各バージョンにはタグ名で管理されている。
  • 上で作成したコンテナではシェルしか動いていなかった。OSなしどころかシェルのみ。このあたりはDockerが各プロセスの名前空間をうまく使用して管理しているはず。
  • 参照
  • 図↓みたいなかんじ image
10
7
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
10
7