===============================================html
2019/4/30_第6次修改 ccb_warlocknode
更新说明:git
2019/4/30:修改了local英文拼写错误的问题;github
2019/4/16:修改了2.1建立目录不正确的问题;web
2019/4/10:调整了docker、docker compose的部署方法的引用;docker
2019/4/6:优化了run、compose、stack的部署方式;浏览器
2018/8/3:删除2.1中无用的目录建立命令;服务器
对2.2.2中对容器的资源限制进行扩容;网络
===============================================优化
部署完swarm(http://www.cnblogs.com/straycats/p/8978135.html)以后,寻找能够管理swarm的web系统方便管理,通过使用portainer能够知足对swarm的基本管理,并且该项目github上的收藏也较多。
2.1 建立目录
mkdir -p /opt/compose/portainer
mkdir -p /usr/docker-vol/portainer/data
PS.因为方便持久化文件定位,这里使用目录映射而不是卷映射来作数据持久化
docker network create \ --driver=bridge \ --subnet=172.11.0.0/16 \ --ip-range=172.11.0.0/16 \ --gateway=172.11.0.1 \ --attachable \ local-net
docker network create \ --driver=overlay \ --subnet=172.12.0.0/16 \ --ip-range=172.12.0.0/16 \ --gateway=172.12.0.1 \ --attachable \ swarm-net
docker run -d \ --name portainer \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/docker-vol/portainer/data:/data \ -p 9000:9000 \ --network local-net \ --cpus 0.5 \ --memory 200M \ --restart on-failure \ portainer/portainer
PS.若是须要移除该容器,可使用命令
docker stop portainer
docker rm portainer
vi /opt/compose/portainer/docker-compose.yml
将下面的内容添加到docker-compose.yml内,wq保存。
version: '3' services: portainer: image: portainer/portainer volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/docker-vol/portainer/data:/data ports: - 9000:9000 networks: - local-net networks: local-net: external: true
cd /opt/compose/portainer
docker-compose up -d
PS.若是须要移除该compose文件建立的全部容器,可使用命令
cd /opt/compose/portainer
docker-compose down
vi /opt/compose/portainer/portainer-stack.yml
将下面的内容添加到portainer-stack.yml内,wq保存。
version: '3.4' services: portainer: image: portainer/portainer volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/docker-vol/portainer/data:/data deploy: placement: constraints: [node.role == manager] replicas: 1 restart_policy: condition: on-failure resources: limits: cpus: "0.5" memory: 200M update_config: parallelism: 1 delay: 5s monitor: 10s max_failure_ratio: 0.1 order: start-first ports: - 9000:9000 networks: - swarm-net networks: swarm-net: external: true
cd /opt/compose/portainer
docker stack deploy -c portainer-stack.yml portainer-stack
PS.若是须要移除该stack建立的全部service,可使用命令
docker stack rm portainer-stack
浏览器访问 https://192.168.12.11:9000
填写8位以上密码,建立管理员用户。进入系统后能够再修改8位之内的密码。(某个版本更新后改为了8位以上的要求,坑啊)
选择“Local”,点击“Connect”。
为了方便部署,swarm能够经过portainer的stacks来部署容器,故须要配置须要拉取的镜像仓库。
左侧导航栏选择“Registries”,点击“Add registry”,填写镜像仓库的名称、URL、管理员的帐号/密码。
因为拉取的仓库是我内部搭建的私有仓库,故选择“Custom registry”,填写仓库信息。