LoginSignup
1
1

More than 5 years have passed since last update.

docker-machineでgenericドライバを使ってみた

Last updated at Posted at 2016-12-16

参考

手順

鍵のパスワードを何度も聞かれるので先に読み込んでおく
ssh-agent bash
ssh-add ~/.ssh/id_rsa
a.sh
IP=192.168.2.2
KEY=~/.ssh/id_rsa
NAME=machine1

docker-machine create \
  --driver generic \
  --generic-ip-address=$IP \
  --generic-ssh-key $KEY \
  $NAME

接続

確認
docker-machine env $NAME
docker-machine ssh $NAME
evalするとdockerコマンドで操作できる
eval $(docker-machine env $NAME)
docker ps -a 
docker pull alpine
docker run --rm -it alpine /bin/sh

volumeの扱い

eval $(docker-machine env $NAME)
docker run --rm -it -v /root:/mnt alpine /bin/sh

とすると、dockerが動いているホスト上の /root が /mntにマウントされる。
docker-machine を実行したホストの/root がマウントされるのではないことに注意。

memo: jessieにdockerインストール

# https://docs.docker.com/engine/installation/linux/debian/
set -eu

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb http://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list

apt update
apt install -y docker-engine

docker-machineの設定ファイル

  • ~/.docker/machine/machines/ホストごとにフォルダ/config.json
    • config.json 内にファイルの絶対パスが書かれている。
  • ~/.docker/machine/machines/ホストごとにフォルダ/id_rsa
  • ~/.docker/machine/certs/ホストの鍵(?)

ここの id_rsa は以下で指定した鍵のコピーが置かれる。

 docker-machine create \
  --driver generic \
  --generic-ip-address=$IP \
+ --generic-ssh-key ~/.ssh/id_rsa \
  $NAME

(検証中)docker-machine操作するホストを複数にできない

  • mac で docker-machineした後、同じホストに対し Linuxでdocker-machineすると macでは接続できなくなる。
  • 他の端末で共有するためには --storage-path で /opt/ とか指定しておくのが吉
  • docker-machine を追加し直すと、コンテナが停止する。(--restart=alwaysの場合は未確認)
1
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
1
1