MACでDockerで開発環境を構築

1. 以下の公式サイトを見てMacにDockerをインストールする

2. Docker バージョンの確認

Hiroe02:apps cuixz0001$ docker version

Client:

 Version:      1.12.5

 API version:  1.24

 Go version:   go1.6.4

 Git commit:   7392c3b

 Built:        Fri Dec 16 06:14:34 2016

 OS/Arch:      darwin/amd64

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

 

Hiroe02:apps cuixz0001$ docker-compose version

docker-compose version 1.9.0, build 2585387

docker-py version: 1.10.6

CPython version: 2.7.12

OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016

 

Hiroe02:apps cuixz0001$ docker-machine --version

docker-machine version 0.8.2, build e18a919

▪️事前知識 

Docker は、Linux 上で動作するため、OS X (Mac) や Windows では、Docker が動作する Linux 仮想マシン(以降、単にマシンと呼びます)を準備し、それを利用する形態をとります。

3. Docker Toolbox のダウンロード

 Docker Toolboxには、以下が入っている

  • Docker Client
  • Docker Machine
  • Docker Compose (Mac only)
  • Docker Kitematic
  • VirtualBox
  • f:id:cuixz2014:20170108173420p:plain

4.  Docker コンテナの実行

  1. アプリケーションのフォルダーか、Launchpadへいく
  2. "Docker Quickstart Terminal.app" を実行する
  3. docker run hello-world をテストで実行
  • このQuickstartアプリケーションがすることは以下の3つ
  1. ターミナルウィンドウを開く
  2. もしdefaultと呼ばれるVMがない場合、それを作成し、VMを開始。
  3. ターミナルの環境(env)を、このVMに設定

    この時点で、dockerコマンドが利用できるようになる

▪️注意事項

OSXでは、Linux上のDockerと違い、default というLinux VM上で動く。このVMdocker-machine コマンドで動かす

 $ docker-machine ls

NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS

default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.5   

default VMが死んでいると、dockerコマンドは動かないので、docker-machineコマンドから立ち上げるなり作成するなり

 $ docker images

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

 $ docker-machine start default  # 立ち上げ

Starting "default"...

Machine "default" is already running.

$ docker-machine env default  # 環境変数が設定されていないと、dockerコマンドが動かないため

export DOCKER_TLS_VERIFY="1"

export DOCKER_HOST="tcp://192.168.99.100:2376"

export DOCKER_CERT_PATH="/Users/cuixz0001/.docker/machine/machines/default"

export DOCKER_MACHINE_NAME="default"

# Run this command to configure your shell: 

# eval $(docker-machine env default)

4. シェルをdefaultのVMに繋ぐ

以下のコマンドで、上記の環境設定をシェルに設定

$ eval "$(docker-machine env default)"

$ docker images

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE

vimagick/scrapyd         latest              780618afc4d1        2 days ago          331.1 MB

continuumio/miniconda3   latest              9b2e88fc621b        3 months ago        458.6 MB

hello-world              latest              c54a2cc56cbb        6 months ago        1.848 kB

 

▪️環境変数を表示する(MAC)

 

コマンド
export -p

#出力結果(一部のみ記載)
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
declare -x LANG="ja_JP.UTF-8"
declare -x SHELL="/bin/bash"

▪️環境変数を設定する(MAC)

 5. セットアップを確認するため、コンテナを実行

$ docker run --name scrapyEnv  -i -t -v $HOME:$HOME vimagick/scrapyd  /bin/bash

root@97d276d33019:/#

 

【Docker】Dockerでホストのディレクトリをマウントする - Qiita

 

docker run -i -t --name testEnv -v /Users/cuixz0001/apps/workdir_python:/data cuixz2002/penv:1.0 bin/bash

▪️Docker に言語設定

export LANG=ja_JP.UTF-8

 

 

 

 

 

 

 

 

Docker Toolbox の使い方 | Learning | MAGELLAN Dev Center

Docker Toolbox | Docker

今更始めるDocker on Mac、今更覚えるDockerコマンド - 病みつきエンジニアブログ

Pythonインストール(Mac編) - Qiita

Python 3 インストール

理系じゃないけどMacにPython3導入した

docker-machine ls # 起動しているVMの確認
docker-machine start # default VMを起動

docker images # イメージの一覧
docker ps # コンテナの一覧
docker run # コンテナの作成
docker start # コンテナの開始
docker attach # コンテナへのアタッチ
docker exec # コンテナでのコマンド実行; bashログインなど
docker commit # コンテナのコミット=スナップショットを取る