学前须知:
1.docker必须运行在一个linux环境下,如果你是windows上面运行,他会帮你建一个linux虚拟机。
2.docker是一个容器引擎,在容器的操作不会影响到本地磁盘。(沙箱机制)
首先,安装docker,我这里是window7,装的是DockerToolbox,装完会在桌面生成三个快捷方式如下:
第一个是docker的shell窗口,需要引用到git的bash.exe操作窗口,启动成功的图是这样的:
第二个是虚拟机管理工具,引用的是Oracle的VM VirtualBox,界面如下:
安装好会默认装上一个default的虚拟机作为docker的运行环境(也就是说docker只能在linux上运行)。
第三个工具Kitematic (Alpha),据了解是docker图形化界面,我没有过多了解,想想应该很强,有时间了解下。
这时候docker在Windows上已经装好了,开始拉取一个镜像,这里使用了阿里云的容器加速,详参
https://cr.console.aliyun.com/?spm=5176.166170.863063.btn1cr3.afaa217f0b8T2m#/accelerator
docker-machine create --engine-registry-mirror=https://0cpdanzt.mirror.aliyuncs.com -d virtualbox test
创建一台安装有Docker环境的Linux虚拟机,指定机器名称为test,同时配置Docker加速器地址。
也可以改 /etc/docker/daemon.json 来加速已有的虚拟机。内容如下
{
"registry-mirrors": ["https://0cpdanzt.mirror.aliyuncs.com"]
}
虚拟机弄好了,开始找你想要的镜像吧,我这里使用的是centos最新一版的
进入到我们的虚拟机 docker-machine ssh test
查找镜像 docker search centos
拉取镜像 docker pull centos
有镜像了,查看一下docker images
49f是我刚拉下来的镜像,07e是我装好自己的环境后提交的镜像。
docker run -d -i -t <imageID> /bin/bash 启动镜像生成一个容器
启动好了会把容器id(ContainerID)返回给你,记住21f就行了
显示当前运行的容器docker ps(-a 显示所有)
进入容器 docker attach <ContainerID>
现在可以为所欲为了,比如这里我们装上一个ssh,ifconfig,装完之后想保存下环境,这时候需要提交并生成一个新的镜像:
#退出,但不停止容器
Ctrl+P+Q
#回到Docker下面,停止容器
docker stop <容器ID>
#提交当前容器到镜像
docker commit <容器ID> <NAME/VERSION>
#启动新容器,并且进行端口映射
docker run -itd -p 50001:22 <刚才提交的镜像ID> /bin/bash
这时候可以通过宿主机的50001进入我们刚刚提交的那个容器了。
下次启动需要选择一个固化的镜像,所以退出后记得提交镜像哦。