- Docker是什么?
在平常的软件开发中,会面临着开发不同的程序或服务需要不同的环境。而在该环境上开发完成后,想要在其他的环境上部署,则需要自己去重新部署,而Docker的出现使得这样的迁移变得容易。举一个老生常谈的例子,也就是常说的集装箱,在以前运送货物的时候,不同的货物放到一起运送的话彼此会互相影响,比如运送水果的碰见运送铁块的。一不小心在货轮上会使得水果被压坏。而集装箱的出现则大大改变了这一情况。将水果放在一个集装箱中,将铁块放到另一个集装箱中。这样即使集装箱摞起来,彼此之间也不会影响。Docker的产生就是基于这样的想法。避免开发不同的程序在同一台电脑上的影响,就将程序以及它所依赖的服务整合起来。
- Docker的安装
Docker下载地址:https://www.docker.com/
如果是window家庭版的,要安装的是Docker的Toolbox版本,在安装完成后,需要在电脑BIOS设置中将Virtual 设置成enable 。这是因为Docker在启动的时候需要建立一个默认的(名字为default)虚拟机。
在安装完成后以后你创建机器的时候,默认都是在C:\users\xx\.docker\machine\machines下的,当大家想更改到其他盘符的时候,可以在去环境变量里配置一条这样的环境变量
MACHINE_STORAGE_PATH 它的值为你要存的路径。如E:\machine 这样。如果想转移现有的机器:
需要以下步骤:
1.关闭停止Docker的虚拟机。
2.打开VirtualBox,选择“管理”菜单下的“虚拟介质管理”,
3.选中docker创建的“disk”,然后点击菜单中的“复制”命令,根据向导,把当前的disk复制到另一个盘上面去。
4.回到VirtualBox主界面,右键“default”这个虚拟机,选择“设置”命令,在弹出的窗口中选择“存储”选项。
5.把disk从“控制器SATA”中删除,然后重新添加我们刚才复制到另外一个磁盘上的那个文件。
- Docker常用命令
在Docker安装完成后,接下来就开始熟悉常用的命令。
在此将命令分为以下两类:以docker开头的和以docker-machine开头的。
关于docker machine是什么,大家可以戳这里。
关于docker和docker-machine的区别,大家可以戳这里。
docker-machine命令
docker-machine ls // 列出docker上所有的机器
docker-machine rm 机器名 //删除指定机器名的机器
docker-machine ssh 机器名 //可以登录到指定机器名的机器中
docker-machine -d virtualbox create 机器名 //在virtualbox中创建一个名字为指定机器名的机器
docker-machine -v //查看docker-machine的版本
docker-machine stop 机器名 //暂停指定机器名的机器
docker-machine active //显示当前活动的机器,也就是说你正在对其操作的那台机器
docker-machine env 机器名 //显示要使用指定机器名机器所需要的环境变量,接下来屏幕显示的会提示你使用相应命令加载这些变量,好让你操作指定机器名的机器。
注意:在使用dev或者ssh命令后都可以直接进行docker 命令操作,无需两个命令同时使用。
接下来是docker命令
docker version //查看dockerd的版本
docker search 镜像名 //可以搜索指定镜像名的镜像
docker pull 镜像名 //下载指定的镜像,注意镜像名要写完整,一般为 用户名/镜像名
docker run 镜像名 命令 //在指定镜像中运行指定的命令
docker ps //可以查看正在运行中的容器列表
docker ps -a //可以查看都有哪些容器
docker inspect 容器ID //可以查看更详细的指定容器ID容器的信息。
docker images //可以查看处于活跃中的机器都有哪些镜像
- 关于docker下载下来的镜像文件放在哪里。
这里引用spacer_robot的一段话:
“通过docker pull下载的镜像在docker中不是以一个独立的文件存在的,而是分层存放,并通过JSON元数据文件将这些层组织起来,一个层有可能被多个镜像共用。
具体存放位置跟docker用的存储驱动有关。在Ubuntu上用的存储驱动是AUFS,所以image层文件存放在/var/lib/docker/aufs/...目录下。在Redhat和Suse上用的存储驱动是devicemapper,所以image层文件存放在/var/lib/docker/devicemapper/...目录下。
要查看docker具体用的是什么存储驱动,可以通过“docker info”命令,查看其“Storage Driver”属性的值。”
要查看具体信息可以点这里。