What is it, naokirin?

Portainerを利用して個人環境のコンテナ管理をする

Portainerとは

PortainerはDockerホストのコンテナ等の情報をブラウザで確認・操作できるツールです。

f:id:naokirin:20170219232457p:plain

知らずのうちに溜まっていくボリュームやイメージなどが視覚化されるので便利です。
またブラウザ上でコンテナにシェルでログインすることもでき、かなり快適に操作することができます。

最近、Dockerを使う際にPortainerを利用して、非常に便利だったので導入をメモ程度に残しておきます。

Portainerでできること

  • コンテナ、イメージ、ボリューム、ネットワークの状態の確認
  • コンテナの起動、停止、削除
  • イメージ、ボリューム、ネットワークの削除
  • DockerHub、ローカルのイメージからコンテナを作成
  • Dockerホストの状態の確認

Mac(docker-machine)の場合

現在のdocker-machineの状態を確認する

$ docker-machine env

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.102:2376"
export DOCKER_CERT_PATH="/Users/username/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env)

$ docker-machine config default

--tlsverify
--tlscacert="/Users/username/.docker/machine/machines/default/ca.pem"
--tlscert="/Users/username/.docker/machine/machines/default/cert.pem"
--tlskey="/Users/username/.docker/machine/machines/default/key.pem"

この時点で、dockerのホストマシンがなければ作成する。

portainer を起動する

以下のコマンドを叩くだけ

$ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

これで9000番ポートにportainerが起動する。

portainer でdockerの情報を確認する

先程のDOCKER_HOSTのIPアドレスに9000番ポートでブラウザからアクセスすれば、adminのパスワード設定画面が表示されるので、設定後に再度ログイン画面でパスワードを入力してログインする。

f:id:naokirin:20170212204652p:plain

基本的な使い方は以上。

portainer でリモートホストに接続する

複数のホストで起動している場合はリモート接続して、1つのportainer上で確認したいこともある。

その場合に、ホストがMacの場合、最初に表示したdocker-machineコマンドで確認した DOCKER_HOST と ca.pem、cert.pem、key.pemを利用してEndpointを追加する。

f:id:naokirin:20170212212211p:plain

Linux の場合

dockerd の設定をする

Linuxリモートホストに接続する場合、docker daemon(dockerd)の設定で tcp:// が設定されていない場合があるので以下のページを参考に設定してデーモンを再起動する。

http://docs.docker.jp/engine/reference/commandline/dockerd.html

あとはMacの項で書いた「portainerを起動する」から同じように実行できます。