1、在Windows下编辑源代码,在Docker容器中运行代码,在Windows的浏览器中看到运行结果,方便后续debug。
2、将开发完成的程序和运行环境一起打包制作成Docker的image,移交image给小伙伴运行或者直接发布到服务器上。
复制文件: docker cp
docker-compose exec CONTAINER /bin/sh
开发用的起docker集群的编排脚本无需经过调试直接复制到服务器端就能一行命令解决部署: docker-compose up -d
多种方式(含docker容器)实现零停机时间(Zero-Downtime)部署
准备工作
bios开启虚拟化,win7借助
windows7 安装docker
https://blog.csdn.net/rickyit/article/details/52104753
http://www.runoob.com/docker/windows-docker-install.html
Windows安装与启动
Docker引擎核心是运行在Linux操作系统上的Linux容器(在Ubuntu上开发)。所以要在Windows上使用Docker容器,先要提供Linux运行环境。
/proc/loadavg 各项数据的含义
去Docker官网下载msi安装程序,若你的系统版本(例如64bit Windows 10 Pro, Enterprise and Education)支持Hyper-V虚拟技术,那么不需要使用额外的虚拟机(VirtualBox),安装程序会自动为你安装完成Docker(Docker for Windows)。若不能使用Hyper-V虚拟技术,Docker项目组也提供了Docker ToolBox工具,可以很方便的在Windows环境下安装Docker。
本文中的系统环境为windows 7 旗舰版,bios启用cpu硬件虚拟化。
故使用Docker toolbox。
由于国内“科学”上网的原因,下载DockerToolbox变得些许困难,在此推荐在国内一个网站下载 https://get.daocloud.io/toolbox
进入网站,选择window版本下载。下载下来后,双击安装。
安装过程会附带安装Oracle VM VirtualBox虚拟机,如下图:
Kitematic为Docker的GUI管理工具,打开Docker Quickstart Terminal可以快速地启动Docker。
发现在该终端中,无法进行复制、粘贴等操作,使用起来非常不方便,所以,安装远程连接工具SecureCRT
docker-machine ip,会返回一个IP地址
默认的用户名 docker
默认的密码是 tcuser
6.Docker的更新
如果本机安装的docker过期了,也就是有新版本的docker发布时,应该对本机的docker进行更新,否则很可能会影响它的继续使用,那么,对本机的docker进行更新可以安装下述方式:
(1)打开Docker Quickstart Terminal终端
(2)输入命令:docker-machine upgrade default
会开始自动更新本机的docker,如下图所示
Docker虚拟机文件地址修改
默认情况下,docker-machine创建的虚拟机文件,是保存在C盘的C:\Users\用户名.docker\machine\machines\default 目录下的,如果下载和使用的镜像过多,那么必然导致该文件夹膨胀过大,如果C盘比较吃紧,那么我们就得考虑把该虚拟机移到另一个盘上。具体操作如下:
1.使用docker-machine stop default停掉Docker的虚拟机。
2.打开VirtualBox,选择“管理”菜单下的“虚拟介质管理”,我们可以看到Docker虚拟机用的虚拟硬盘的文件disk。
3.选中“disk”,然后点击菜单中的“复制”命令,根据向导,把当前的disk复制到另一个盘上面去。
4.回到VirtualBox主界面,右键“default”这个虚拟机,选择“设置”命令,在弹出的窗口中选择“存储”选项。
5.把disk从“控制器SATA”中删除,然后重新添加我们刚才复制到另外一个磁盘上的那个文件。
这是我设置好后的界面,可以看到我在步骤3复制的时候,复制到G:\docker\disk_docker.vdi文件去了。
挂载目录和数据持久化方面
基于Consul+Registrator+Nginx实现容器服务自动发现的集群框架
https://blog.51cto.com/ganbing/2086851
6、监控:如何获取容器运行时资源使用情况?
如何监控容器内应用?
docker info
docker status redis 状态监控
docker:快速构建容器监控系统cAdvisor+InfluxDB+Grafana
7、持续集成环境
实战docker+jenkins+git+registry构建持续集成环境
https://blog.51cto.com/ganbing/2085769
8、排错
service docker start
docker version
#查看docker日志:
cat /var/log/docker
#故障处理,不能启动
docker:编排与部署小神器Compose
docker启动后,使用域名安装软件时,发现容器无法上网
ping 宿主机 --> OK
ping 网关 --> 不通
查看结果发现宿主机端口转发未打开
cat /proc/sys/net/ipv4/ip_forward
0
打开后,网络正常
echo 1 > /proc/sys/net/ipv4/ip_forward
docker迁移容器
http://chentianwang.blog.51cto.com/9250930/1752043
(2)登陆docker Hub的账号
docker login
然后,输入用户名和密码,例如
个人觉得:在使用docker时,是否登陆没有特别大的影响,只不过是,如果登陆了,就可以向docker hub上push自己的镜像了
docker log
进入方法
1、1 开始---cmd---docker
1、2 客户端Docker Quickstart Terminal
1、3 virtualbox找到default
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.26/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
解决办法:@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i
docker-machine ls
docker ps
docker iamges
#查看版本
cat /proc/version
转载于:https://blog.51cto.com/yanjiu/2114860