質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

docker swarn クラスタがうまく認識されませんでした

ruuusaamarki
ruuusaamarki

総合スコア0

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1回答

0評価

0クリップ

1579閲覧

投稿2019/04/11 02:32

前提・実現したいこと

docker swarmを使用してクラスタ構成を組んでみたのですが
うまくいかない状態です。

dockerの仮想環境構築入門という書籍の
チュートリアルになります。(p225〜228)
書籍自体は非常にわかりやすいです。

###環境
macOS 10.14.4(18E226)
Docker for mac Version 2.0.0.3 (31259)
Docker version 18.09.2, build 6247962

発生している問題・エラーメッセージ

エラーは特にない状態です。
一度自分で間違ってコマンドを打ってしまい
それが原因なのかもと気になっております。

miss.sh

$docker-machine create --swarm --swarm-master\ #★←ここでスペースが入っていなくてオプションが繋がってエラーになってしまった。 > --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ > --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \ > --engine-opt="cluster-advertise=eth1:2376" \ > mhs-demo0 Incorrect Usage. Usage: docker-machine create [OPTIONS] [arg...] Create a machine Description: Run 'docker-machine create --driver name --help' to include the create flags for that driver in the help text. Options: --driver, -d "virtualbox" Driver to create machine with. [$MACHINE_DRIVER] --engine-env [--engine-env option --engine-env option] Specify environment variables to set in the engine --engine-insecure-registry [--engine-insecure-registry option --engine-insecure-registry option] Specify insecure registries to allow with the created engine --engine-install-url "https://get.docker.com" Custom URL to use for engine installation [$MACHINE_DOCKER_INSTALL_URL] --engine-label [--engine-label option --engine-label option] Specify labels for the created engine --engine-opt [--engine-opt option --engine-opt option] Specify arbitrary flags to include with the created engine in the form flag=value --engine-registry-mirror [--engine-registry-mirror option --engine-registry-mirror option] Specify registry mirrors to use [$ENGINE_REGISTRY_MIRROR] --engine-storage-driver Specify a storage driver to use with the engine --swarm Configure Machine to join a Swarm cluster --swarm-addr addr to advertise for Swarm (default: detect and use the machine IP) --swarm-discovery Discovery service to use with Swarm --swarm-experimental Enable Swarm experimental features --swarm-host "tcp://0.0.0.0:3376" ip/socket to listen on for Swarm master --swarm-image "swarm:latest" Specify Docker image to use for Swarm [$MACHINE_SWARM_IMAGE] --swarm-join-opt [--swarm-join-opt option --swarm-join-opt option] Define arbitrary flags for Swarm join --swarm-master Configure Machine to be a Swarm master --swarm-opt [--swarm-opt option --swarm-opt option] Define arbitrary flags for Swarm master --swarm-strategy "spread" Define a default scheduling strategy for Swarm --tls-san [--tls-san option --tls-san option] Support extra SANs for TLS certs --virtualbox-boot2docker-url The URL of the boot2docker image. Defaults to the latest available version [$VIRTUALBOX_BOOT2DOCKER_URL] --virtualbox-cpu-count "1" number of CPUs for the machine (-1 to use the number of CPUs available) [$VIRTUALBOX_CPU_COUNT] --virtualbox-disk-size "20000" Size of disk for host in MB [$VIRTUALBOX_DISK_SIZE] --virtualbox-host-dns-resolver Use the host DNS resolver [$VIRTUALBOX_HOST_DNS_RESOLVER] --virtualbox-hostonly-cidr "192.168.99.1/24" Specify the Host Only CIDR [$VIRTUALBOX_HOSTONLY_CIDR] --virtualbox-hostonly-nicpromisc "deny" Specify the Host Only Network Adapter Promiscuous Mode [$VIRTUALBOX_HOSTONLY_NIC_PROMISC] --virtualbox-hostonly-nictype "82540EM" Specify the Host Only Network Adapter Type [$VIRTUALBOX_HOSTONLY_NIC_TYPE] --virtualbox-hostonly-no-dhcp Disable the Host Only DHCP Server [$VIRTUALBOX_HOSTONLY_NO_DHCP] --virtualbox-import-boot2docker-vm The name of a Boot2Docker VM to import [$VIRTUALBOX_BOOT2DOCKER_IMPORT_VM] --virtualbox-memory "1024" Size of memory for host in MB [$VIRTUALBOX_MEMORY_SIZE] --virtualbox-nat-nictype "82540EM" Specify the Network Adapter Type [$VIRTUALBOX_NAT_NICTYPE] --virtualbox-no-dns-proxy Disable proxying all DNS requests to the host [$VIRTUALBOX_NO_DNS_PROXY] --virtualbox-no-share Disable the mount of your home directory [$VIRTUALBOX_NO_SHARE] --virtualbox-no-vtx-check Disable checking for the availability of hardware virtualization before the vm is started [$VIRTUALBOX_NO_VTX_CHECK] --virtualbox-share-folder Mount the specified directory instead of the default home location. Format: dir:name [$VIRTUALBOX_SHARE_FOLDER] --virtualbox-ui-type "headless" Specify the UI Type: (gui|sdl|headless|separate) [$VIRTUALBOX_UI_TYPE] flag provided but not defined: -swarm-master--swarm-discovery

実行したコマンド履歴

command.sh

$ docker-machine create mh-keystore $ eval $(docker-machine env mh-keystore) $ docker run -d --name consul -h consul -p 8500:8500 consul agent -server -bootstrap -client 0.0.0.0 $ docker-machine create --swarm --swarm-master--swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" --engine-opt="cluster-advertise=eth1:2376" mhs-demo0 $ docker-machine create --swarm --swarm-master --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" --engine-opt="cluster-advertise=eth1:2376" mhs-demo0 $ docker-machine create --swarm --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" --engine-opt="cluster-advertise=eth1:2376" mhs-demo1 $ eval $(docker-machine env --swarm mhs-demo0) $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS host-nw-vm - virtualbox Stopped Unknown mh-keystore - virtualbox Running tcp://192.168.99.100:2376 v18.09.4 mhs-demo0 * (swarm) virtualbox Running tcp://192.168.99.101:2376 mhs-demo0 (master) v18.09.4 mhs-demo1 - virtualbox Running tcp://192.168.99.102:2376 mhs-demo0 v18.09.4 $ docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: swarm/1.2.9 Role: primary Strategy: spread Filters: health, port, containerslots, dependency, affinity, constraint, whitelist Nodes: 0 Plugins: Volume: Network: Log: Swarm: NodeID: Is Manager: false Node Address: Kernel Version: 4.14.111-boot2docker Operating System: linux Architecture: amd64 CPUs: 0 Total Memory: 0B Name: 3015b117afd4 Docker Root Dir: Debug Mode (client): false Debug Mode (server): false Experimental: false Live Restore Enabled: false WARNING: No kernel memory limit support

### 調査したこと

WARNING: No kernel memory limit support
というエラーメッセージで検索したところ
git-hubのissueが2件くらいヒットしたのですが
翻訳をかけたところもうバージョンアップにて解決しているというような(解釈が違っているかもしれません)
ことが書かれていました。
https://github.com/docker/for-mac/issues/955
https://github.com/moby/moby/issues/22245

### 質問内容
現状、下手にいじるとこじれそうな予感があり
何を確認したら良いかなど、まずは糸口だけでもご教授いただけましたら幸いです。

情報が足りてない場合、わかりにくい部分などはお手数ですが
ご指摘をお願いいたします。
よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

yoorwm
yoorwm

2019/04/11 02:47

見た感じ、うまく行っているような気がするのですが、「何をしてみてうまくいかない」のかを教えてください。
ruuusaamarki
ruuusaamarki

2019/04/11 02:53

コメントありがとうございます。 参考書籍では実行結果が以下のようになります。 $ docker info Containers: 3 Running: 3 Paused: 0 Stopped: 0 Images: 2 Server Version: swarm/1.2.9 Role: primary Strategy: spread Filters: health, port, containerslots, dependency, affinity, constraint, whitelist Nodes: 2 しかし現在は Containers: 0 Running: 0 Nodes: 0 となってしまっている状態です。
yoorwm
yoorwm

2019/04/11 03:09

それは書籍の方が間違えているか、その状態の前に何か実行したコマンドがあるのではないでしょうか? https://knowledge.sakura.ad.jp/5197/ swarmモードは使った事が無いので適当に検索してみたページだと、中辺りに 「この時点ではコンテナを実行させるためのノードを登録していないため、「Nodes」は0になっているはずだ。」 とありますね? まだ、そこに書いてある状態と同じではないでしょうか?
ruuusaamarki
ruuusaamarki

2019/04/11 03:52

情報ありがとうございます。 参考ページのコマンドを実行してみたところ $docker -H tcp://192.168.99.101:2376 info Containers: 2 Running: 2 という表示がされました。 おっしゃる通り何か実行してしまったのかもしれません。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです