Docker 入门(Mac环境)- part 5 stacks
part-5 stacks
简介
stack就是栈,栈的结构是什么样的呢?一层一层是紧挨着的,然后互相依赖,不能说中间少了一个。这样说就很明白了,栈实际上在docker中就相当于多个互相依赖的组件,共同组合成一个完整的项目,比方说你实现了登陆,我实现了登录后的操作。compose也很直白,协奏,乐团~
增加一个服务,然后重新部署应用
- 更新一下docker-compose.yml
version: "3"
services:web:# replace username/repo:tag with your name and image detailsimage: username/repo:tagdeploy:replicas: 5restart_policy:condition: on-failureresources:limits:cpus: "0.1"memory: 50Mports:- "80:80"networks:- webnetvisualizer:image: dockersamples/visualizer:stableports:- "8080:8080"volumes:- "/var/run/docker.sock:/var/run/docker.sock"deploy:placement:constraints: [node.role == manager]networks:- webnet
networks:webnet:
- attach到myvm1,部署应用
eval $(docker-machine env myvm1)
docker stack deploy -c docker-compose.yml getstartedlab
- 打开浏览器如何访问http://192.168.99.101:8080/ 就可以看见图形化的界面了
- 查看进程
➜ docker_file docker stack ps getstartedlab
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
3hec43yn4z5j getstartedlab_visualizer.1 dockersamples/visualizer:stable myvm1 Running Running 6 minutes ago
xcucj08tfn72 getstartedlab_web.1 btchild/get-started:part-2 myvm2 Running Running 5 minutes ago
rifl2rqahv30 getstartedlab_web.2 btchild/get-started:part-2 myvm1 Running Running 7 minutes ago
j75tnimk4r46 getstartedlab_web.3 btchild/get-started:part-2 myvm2 Running Running 5 minutes ago
ccgcgw2ahkrp getstartedlab_web.4 btchild/get-started:part-2 myvm1 Running Running 7 minutes ago
irftco5od5hx getstartedlab_web.5 btchild/get-started:part-2 myvm2 Running Running 5 minutes ago
数据持久化
- 更新配置文件
version: "3"
services:web:# replace username/repo:tag with your name and image detailsimage: username/repo:tagdeploy:replicas: 5restart_policy:condition: on-failureresources:limits:cpus: "0.1"memory: 50Mports:- "80:80"networks:- webnetvisualizer:image: dockersamples/visualizer:stableports:- "8080:8080"volumes:- "/var/run/docker.sock:/var/run/docker.sock"deploy:placement:constraints: [node.role == manager]networks:- webnetredis:image: redisports:- "6379:6379"volumes:- "/home/docker/data:/data"deploy:placement:constraints: [node.role == manager]command: redis-server --appendonly yesnetworks:- webnet
networks:webnet:
- 可以看出是增加了redis,需要增加一个本地目录,用来持久化数据
docker-machine ssh myvm1 "mkdir ./data"
- 启动应用
➜ docker_file docker stack deploy -c docker-compose.yml getstartedlab
Creating service getstartedlab_redis
Updating service getstartedlab_web (id: rw916xx9vy7pl89v9nln22yz8)
Updating service getstartedlab_visualizer (id: gvoe98n4fjizj3k88jn6tdr3z)
- 可以通过查看http://192.168.99.101:8080/和http://192.168.99.101来查看相应页面
- 其实遇到了一个问题,然后完全按照步骤来做的,就发现完全不知道问题在哪里,最终想办法找到了日志,发现是app.py最早有个地方写错了,打包的时候就是错的,后期就出现了问题,于是重新打包上传,更新就好了;这里说一下查看log的命令,如下:
docker logs container_name
转载于:https://www.cnblogs.com/wswang/p/9289656.html
Docker 入门(Mac环境)- part 5 stacks相关推荐
- Mac环境下Docker及Splash的安装运行教程
一.前言 由于最近使用Python爬虫框架scrapy练习爬虫,在爬取动态网页的时候,需要用到splash,进行对动态网页进行JavaScript渲染,但是使用splash又必须安装Docker.因为 ...
- docker一:mac入门安装
2019独角兽企业重金招聘Python工程师标准>>> 1,从docker官网下载docker for mac,官网地址:https://www.docker.com/ 2,下载成功 ...
- virtualbox php mac,详解mac下通过docker搭建LEMP环境
在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...
- mac docker搭建开发环境
前言 刚买了一个mac本, 决定搭建一个纯docker的开发环境, 说到做到, 开始踩坑. 搭建 在搭建环境的过程中, 经历了很多错误, 例如为了令两个docker环境可以互通(如: nginx和ph ...
- Docker入门 (五 Stacks)
上一篇: Docker 入门 (四 Swarms 集群) Stacks 简介 在第四部分Docker 入门 (四 Swarms 集群), 你学会了如何建立一个集群,并且在集群上部署了一个应用,该应用在 ...
- Docker入门指南:基于 docker 搭建机器学习/深度学习开发环境
实际工作中,许多项目开发需要在Linux服务器上进行,本文为习惯使用 Windows 操作系统的朋友介绍一种基于Docker的,跨平台.便携性(方便移植.重新部署.可远程访问)的开发环境搭建方法. 1 ...
- Docker 入门终极指南:边学边用
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者:jartto 出处:http://jartto.w ...
- docker desktop ubuntu镜像_原创 | Docker入门,看了不理解,假一赔命
写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二, ...
- Docker入门,看了不理解,假一赔命
写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二, ...
- Docker入门讲解
作者:jartto 链接:http://39sd.cn/D8EED 富 Web 时代,应用变得越来越强大,与此同时也越来越复杂.集群部署.隔离环境.灰度发布以及动态扩容缺一不可,而容器化则成为中间的必 ...
最新文章
- 洛谷 [P1314] 聪明的质检员(NOIP2011 D2T2)
- AngularJS 深入理解 $scope 转载▼
- 【性能优化】EKPO/EKBE和LIPS做JOIN的问题
- boost::adjacency_matrix用法的测试程序
- 音视频技术开发周刊 77期
- Apache下有效防止盗链仿下载的解决办法
- java布尔多少字节,在Java中将字节转换为长度为4的布尔数组
- MyBatis Generator(MBG)从Abator迁移
- 51 nod 1439 互质对(Moblus容斥)
- 论文笔记_S2D.10-2016-NIPS_室外单张图像的深度感知
- Unity热更之旧项目救星——Xlua热补丁修复
- x86 CPU访问DRAM和PCI
- go微服务调用报错too many colons in address
- EM2 MP1 Vowel and Consonant Teacher:Ashley
- Vue 艺术字体下载、设置
- Android 的四大组件
- 最适合家用的洗地机哪个牌子好?最好用的洗地机推荐
- Python - 深度学习训练过程使用matplotlib.pyplot实时动态显示loss和acc曲线
- Centos 8重启网卡命令
- Mosquitto 在Linux服务器上的部署过程中以及踩过的坑