Win7搭建Docker环境+Helloworld测试容器(二)

接下来,我们按照官网继续操作

操作前需要在官网注册帐号 

1.分享我们的镜像(镜像和容器区别,转载 http://www.cnblogs.com/zhangmingcheng/p/5718042.html

在Docker终端执行以下命令,将镜像上传到您的仓库中,类似GIT命令

docker login  #我登陆的是imily帐号
docker tag friendlyhello imily/repository:hello    
docker push imily/repository:hello   #推送镜像到imily仓库

 2.运行仓库中的镜像

docker run -p 4000:80 imily/repository:hello   #运行镜像

3.利用容器建立负载均衡测试,

建立docker-compose.yml文件,可创建容器 服务

version: "3"
services:
  web:
    image: imily/repository:hello
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure
    ports:
      - "80:80"
    networks:
      - webnet
networks:
  webnet:

4.运行容器的5个实例,来进行负载均衡测试

docker swarm init --advertise-addr 192.168.99.100 #换成你的IP
docker stack deploy -c docker-compose.yml helloapp   #运行实例
docker stack ps helloapp  #此命令可查看容器运行栈,会显示5个实例

打开浏览器可看到结果,刷新后会显示不同的hostname

运行期间可直接修改docker-compose.yml文件并运行命令更新 docker stack deploy -c docker-compose.yml helloapp

停止运行可运行如下命令

docker stack rm helloapp

 5.集群测试

docker-machine create --driver virtualbox myvm1 #创建虚拟机1
docker-machine create --driver virtualbox myvm2 #创建虚拟机2
docker-machine ssh myvm1 "docker swarm init --advertise-addr 192.168.99.101:2377"  #利用ssh, 让myvm1执行命令docker swarm init,使之称为管理员

#小提示:可执行  docker-machine ssh myvm1  #转到myvm1虚拟机shell下,运行完后执行exit退出
导出TOKEN :
docker-machine ssh myvm1 "docker swarm join-token --quiet worker" > token.txt
docker-machine ssh myvm2  #转到myvm2下,执行
docker swarm join --token 你的token 192.168.99.101:2377
成功执行后
exit #返回到主shell控制台
docker-machine scp docker-compose.yml myvm1:~  #复制docker-compose.yml文件到myvm1用户目录
docker-machine ssh myvm1 "docker stack deploy -c docker-compose.yml helloapp"  #运行容器服务

 此时打开 192.168.99.101 会打不开,这时候需要进入VirtualBox设置myvm1和myvm2网络,打开端口

 

然后就可以在浏览器打开 http://192.168.99.101  和 http://192.168.99.102 了

 

 

显示更多

发表回复