docker v1.다중 호스트 테스트 12의 공개 기능 on 벚꽃구름
이번에 우리는 새로운 기능에서 사람들의 주목을 끄는 공개 전시 기능을 시도했다.
프로토타입: Swarm Mode 자습서
====보충
이번에는 실험용이라 안전 면/성능 면은 고려하지 않았다.
실제 테스트 시 매우 주의하세요.
추기는 여기까지다
추기 2
2016년 7월 29일 Docker v1.12.0이 GA로 바뀌었다.
따라서 Docker Machine 옵션
--engine-install-url
에 지정할 필요가 없습니다.기타 미세한 변경이 있는 부분은 최신 정보정부 수첩를 참조하십시오.
추기는 여기까지다
공개 기능
이번에 소개한 블로그도 빠른 형식으로 일본어로 번역했다(역시!).
참조: [참고 번역] Docker 1.12: 드디어 공개 전시가 설치되었습니다!
이전과 비교하면 etcd와connsul을 설치할 필요가 없다
swarm 집단의 구축이 수월해졌네요.
금방 해볼게요.
차리다
다음은 Mac 작업입니다.
명령 예시 등은 각자의 환경에 따라 적절하게 교체해 주십시오.
손 옆에 있는 기계에 docker v1.설치 12
이번 Docker Con에 맞춰 Docker for Mac/Windows는 개인 베타에서 공공 베타로 바뀌었다.어려우니까 한번 써보세요.
다음 웹 사이트에서 Docker for Mac/Windows를 다운로드할 수 있습니다.
swarm 집단용 기계 준비
벚꽃의 갓
이번에는 벚꽃 갓에 기계 3대를 만들었다.
docker-machine의 벚꽃 구름용 드라이브여기 기사.를 사용하기 때문에 참고
설치를 진행하십시오.
기계제작+docker 설치
다음 명령으로 벚꽃 구름 위에서 기계를 제작한다.
지정--engine-install-url
을 통해 정식 발표 전의 edge 버전의
docker를 설치할 수 있습니다.
기계 제작# 1台目
$ docker-machine create -d sakuracloud \
--sakuracloud-access-token=[ACCESS TOKEN] \
--sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
--engine-install-url="https://experimental.docker.com" \
sakura01
# 2台目
$ docker-machine create -d sakuracloud \
--sakuracloud-access-token=[ACCESS TOKEN] \
--sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
--engine-install-url="https://experimental.docker.com" \
sakura02
# 3台目
$ docker-machine create -d sakuracloud \
--sakuracloud-access-token=[ACCESS TOKEN] \
--sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
--engine-install-url="https://experimental.docker.com" \
sakura03
클러스터 구축
첫 번째 init
우리 빨리 집단을 하나 구축합시다.
우선 집단의 초기화를 진행한다.초기화는 swarm init
명령입니다.
swarm_init$ docker swarm init --help
Usage: docker swarm init [OPTIONS]
Initialize a Swarm
Options:
--auto-accept value Auto acceptance policy (worker, manager, or none)
--force-new-cluster Force create a new cluster from current state.
--help Print usage
--listen-addr value Listen address (default 0.0.0.0:2377)
--secret string Set secret value needed to accept nodes into cluster
그럼 먼저 첫 번째 기계로 init를 운행합시다.
_swarm_init 실행# 1台目のマシンに接続
$ eval $(docker-machine env sakura01)
# init実施
$ docker swarm init
Swarm initialized: current node (bvotc0o2ukxbeud6jedhpyvsq) is now a manager.
내부 네트워크에서 들어야 하는데--listen-addr
이번에는 검증용 기본값0.0.0.0:2377
청취를 위한 것이다.
다음 명령을 통해 확인할 수 있습니다.
swarm_init 확인$ docker node ls
ID NAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS
bvotc0o2ukxbeud6jedhpyvsq * sakura01 Accepted Ready Active Leader
두세 번째
나머지 두 대를 집단에 참가시키자.
참가하려면 옵션으로 첫 번째 IP 주소/포트를 지정합니다.
다음 명령을 사용하여 첫 번째 IP 주소를 확인한 후 참가합니다.
IP 확인$ docker-machine ip sakura01
join
명령을 사용하여 swarm 그룹에 가입합니다.
swarm_join$ docker swarm join --help
Usage: docker swarm join [OPTIONS] HOST:PORT
Join a Swarm as a node and/or manager
Options:
--ca-hash string Hash of the Root Certificate Authority certificate used for trusted join
--help Print usage
--listen-addr value Listen address (default 0.0.0.0:2377)
--manager Try joining as a manager.
--secret string Secret for node acceptance
당장 실행해.
swarm_실시# 2台目のマシンへ接続
$ eval $(docker-machine env sakura02)
# join
$ docker swarm join `docker-machine ip sakura01`:2377
This node joined a Swarm as a worker.
# 3台目のマシンへ接続
$ eval $(docker-machine env sakura03)
# join
$ docker swarm join `docker-machine ip sakura01`:2377
This node joined a Swarm as a worker.
# 1台目に接続して確認
$ eval $(docker-machine env sakura01)
$ docker node ls
ID NAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS
03qup39ksvhcgvusqk7o9x50h sakura03 Accepted Ready Active
bvotc0o2ukxbeud6jedhpyvsq * sakura01 Accepted Ready Active Leader
ccup7i31v4dbzip15ej49wpzm sakura02 Accepted Ready Active
이렇게 하면 집단을 구축할 수 있다.
그룹에서 docker 용기 시작하기 (서비스 명령)
service
명령을 사용하여 그룹에서 용기를 시작합니다.
서비스 명령$ docker service --help
Usage: docker service COMMAND
Manage Docker services
Options:
--help Print usage
Commands:
create Create a new service
inspect Inspect a service
tasks List the tasks of a service
ls List services
rm Remove a service
scale Scale one or multiple services
update Update a service
Run 'docker service COMMAND --help' for more information on a command.
이번에는 Nginx를 시작합니다.서비스 이름hellosakura
으로 지정합니다.
http에 사용할 80번 포트도 지정했습니다.
서비스 실행$ docker service create --replicas 1 --name hellosakura -p 80:80 nginx:latest
service ls
및 service tasks [タスク名]
명령을 사용하여 확인합니다.
확인# サービス起動状況の確認
$ docker service ls
ID NAME REPLICAS IMAGE COMMAND
2685cua3k8wm hellosakura 1/1 nginx:latest
# サービス内の各タスクの起動状況の確認(sakura03で起動しているのが見える)
$ docker service tasks hellosakura
ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE
4zh6ppxmxncfm6guswtoixmho hellosakura.1 hellosakura nginx:latest Running 37 seconds Running sakura03
동작 확인
그럼 브라우저 등을 통해 각 기기의 IP에 로그인하세요.
동작 확인$ open http://`docker-machine ip sakura01`
$ open http://`docker-machine ip sakura02`
$ open http://`docker-machine ip sakura03`
모든 IP 에 Nginx 페이지가 표시되도록 지정하시겠습니까?
Swarm 클러스터(클러스터)의 모든 IP에서 공개 포트에 액세스 가능
Overlay 네트워크에서 대상 서비스 포트에 도달할 수 있습니다.
잉여
오늘은 여기까지.
기타
# 1台目
$ docker-machine create -d sakuracloud \
--sakuracloud-access-token=[ACCESS TOKEN] \
--sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
--engine-install-url="https://experimental.docker.com" \
sakura01
# 2台目
$ docker-machine create -d sakuracloud \
--sakuracloud-access-token=[ACCESS TOKEN] \
--sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
--engine-install-url="https://experimental.docker.com" \
sakura02
# 3台目
$ docker-machine create -d sakuracloud \
--sakuracloud-access-token=[ACCESS TOKEN] \
--sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] \
--engine-install-url="https://experimental.docker.com" \
sakura03
$ docker swarm init --help
Usage: docker swarm init [OPTIONS]
Initialize a Swarm
Options:
--auto-accept value Auto acceptance policy (worker, manager, or none)
--force-new-cluster Force create a new cluster from current state.
--help Print usage
--listen-addr value Listen address (default 0.0.0.0:2377)
--secret string Set secret value needed to accept nodes into cluster
# 1台目のマシンに接続
$ eval $(docker-machine env sakura01)
# init実施
$ docker swarm init
Swarm initialized: current node (bvotc0o2ukxbeud6jedhpyvsq) is now a manager.
$ docker node ls
ID NAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS
bvotc0o2ukxbeud6jedhpyvsq * sakura01 Accepted Ready Active Leader
$ docker-machine ip sakura01
$ docker swarm join --help
Usage: docker swarm join [OPTIONS] HOST:PORT
Join a Swarm as a node and/or manager
Options:
--ca-hash string Hash of the Root Certificate Authority certificate used for trusted join
--help Print usage
--listen-addr value Listen address (default 0.0.0.0:2377)
--manager Try joining as a manager.
--secret string Secret for node acceptance
# 2台目のマシンへ接続
$ eval $(docker-machine env sakura02)
# join
$ docker swarm join `docker-machine ip sakura01`:2377
This node joined a Swarm as a worker.
# 3台目のマシンへ接続
$ eval $(docker-machine env sakura03)
# join
$ docker swarm join `docker-machine ip sakura01`:2377
This node joined a Swarm as a worker.
# 1台目に接続して確認
$ eval $(docker-machine env sakura01)
$ docker node ls
ID NAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS
03qup39ksvhcgvusqk7o9x50h sakura03 Accepted Ready Active
bvotc0o2ukxbeud6jedhpyvsq * sakura01 Accepted Ready Active Leader
ccup7i31v4dbzip15ej49wpzm sakura02 Accepted Ready Active
$ docker service --help
Usage: docker service COMMAND
Manage Docker services
Options:
--help Print usage
Commands:
create Create a new service
inspect Inspect a service
tasks List the tasks of a service
ls List services
rm Remove a service
scale Scale one or multiple services
update Update a service
Run 'docker service COMMAND --help' for more information on a command.
$ docker service create --replicas 1 --name hellosakura -p 80:80 nginx:latest
# サービス起動状況の確認
$ docker service ls
ID NAME REPLICAS IMAGE COMMAND
2685cua3k8wm hellosakura 1/1 nginx:latest
# サービス内の各タスクの起動状況の確認(sakura03で起動しているのが見える)
$ docker service tasks hellosakura
ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE
4zh6ppxmxncfm6guswtoixmho hellosakura.1 hellosakura nginx:latest Running 37 seconds Running sakura03
$ open http://`docker-machine ip sakura01`
$ open http://`docker-machine ip sakura02`
$ open http://`docker-machine ip sakura03`
반드시 강좌를 실시해 주십시오.
그게 다야.
Reference
이 문제에 관하여(docker v1.다중 호스트 테스트 12의 공개 기능 on 벚꽃구름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamamoto-febc/items/afc7143e609c170140e6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)