Docker是个啥东西?
Docker给我们提供一个具有隔离性、安全性的运行软件环境(容器)。相比于虚拟机,Docker更加轻量级,占用资源更少,在给定的硬件组合上可以运行更多的容器。简单点说,Docker可以像虚拟机一样,让我们在一台主机上面模拟出多个独立的运行环境,如同多台主机一样,并且比虚拟机更节省资源。
Docker安装
Docker支持Mac、Window、Linux。
Mac平台可以从www.docker.com/get-started… cask install docker`。
安装完Docker之后,最好配置上国内的镜像加速器,不然,下载镜像有得等,加速地址建议配置为中国科技大学的镜像加速器(docker.mirrors.ustc.edu.cn)
Mac上配置方法如下:
点击系统上方导航栏 docker小图标 -> Preferences -> Docker Engine,配置上加速地址,点击右下角Apple&Restart按钮重启即可。
重启完,直接在控制台执行docker info,在一堆信息的最后面看到如下信息,则配置成功
Docker容器
前面,我们说过Docker可以提供一个隔离的容器来运行软件,docker中,我们的软件需要打包成一个镜像,才能运行到容器里面。也就是说,如果我们要把自己的软件运行在docker容器里面,我们先需要把我们的软件打包到镜像里。先别急着运行我们自己的软件,docker镜像库里面已经有很多别人打包好的镜像,我们先跑一个别人的镜像试试先。当然,你可以在hub.docker.com 这里搜索下,看看都有哪些镜像,也可以直接使用命令搜索,比如,我们看看centos都有哪些镜像,那可以控制台执行 docker search centos。
当然,有哪些版本,你可以在hub.docker.com 里面搜一搜。
可以看到有centos7的版本,那我们可以把centos7的镜像拉到我们本地来,执行docker pull centos:centos7之后慢慢等待就可以了,下载完,我们就可以通过 docker images查看本地已经有哪些镜像,可以看到centos镜像已经拉到本地来了。
接下来,我们就可以在容器中运行centos了:docker run -i -t centos:centos7 /bin/bash,其中-i表示标准输入输出、-t表示开启终端,运行/bin/bash,也就是centos终端,如下图,我们已经进入容器中运行的centos的terminal终端。
control+q+p键即可回到我们的系统。docker ps命令可以看到我们目前运行的docker容器,可以看到我们已经有一个容器在运行。
使用docker stop 容器ID来停止容器,例子docker stop c2cc74725d20,这时候我们再执行docker ps就看不到容器了,我们可以使用docker ps -a查看所有包括停止的容器。
使用docker start 容器ID,即可重新启动容器,例子docker start c2cc74725d20。
启动后执行docker exec 容器ID /bin/bash可以进入容器中运行的centos的终端terminal,例子:docker exec -it c2cc74725d20 /bin/bash
第一个docker容器已经运行起来,总结下使用到的docker命令,docker的命令可以通过docker --help查看,具体参数如run可以使用什么参数可以通过docker run --help查看
docker search centos
docker pull centos:centos7
docker images
docker run -i -t centos:centos7 /bin/bash
docker ps
docker ps -a
docker stop 容器ID
docker start 容器ID
docker exec -it c2cc74725d20 /bin/bash
docker --help
docker run --help
总结
至此,本文简单描述Docker是个什么东西,Docker的安装,使用Docker跑起来我们的第一个容器。更多Docker相关,如如何将我们的代码打包到镜像中,稍后会有更多的介绍。