来源:http://www.ityouknow.com/docker/2018/03/07/docker-introduction.htmlhtml
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。linux
程序在这个虚拟容器里运行,就好像在真实的物理机上运行同样。有了 Docker,就不用担忧环境问题。nginx
为何要使用Docker?sql
一、更快速的交付和部署docker
对开发和运维(devop)人员来讲,最但愿的就是一次建立或配置,能够在任意地方正常运行。json
开发者可使用一个标准的镜像来构建一套开发容器,开发完成以后,运维人员能够直接使用这个容器来部署代码。 Docker 能够快速建立容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其余成员更容易理解应用程序是如何建立和工做的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。centos
相关概念:api
Docker是CS架构,主要有两个概念:tomcat
Docker的三个主要概念:安全
https://registry.hub.docker.com/
,也能够搭建本身私有的Docker registry。镜像就至关于打包好的版本,镜像启动以后运行在容器中,仓库就是装存储镜像的地方。
建议在linux环境下安装Docker,window环境搭建比较复杂且容易出错,使用Centos7+yum来安装Docker环境很方便。
Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。所以想要安装 docker,只须要运行下面的 yum 命令:
yum install docker
安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:
service docker start
chkconfig docker on
如采用CentOS 7中支持的新式 systemd 语法,以下:
systemctl start docker.service
systemctl enable docker.service
测试
docker version
输入上述命令,返回docker的版本相关信息,证实docker安装成功。
下面,咱们经过最简单的 image 文件”hello world”,感觉一下 Docker。
由于国内链接 Docker 的官方仓库很慢,所以咱们在平常使用中会使用Docker 中国加速器。经过 Docker 官方镜像加速,中国区用户可以快速访问最流行的 Docker 镜像。该镜像托管于中国大陆,本地用户如今将会享受到更快的下载速度和更强的稳定性,从而可以更敏捷地开发和交付 Docker 化应用。
Docker 中国官方镜像加速可经过registry.docker-cn.com
访问。该镜像库只包含流行的公有镜像,私有镜像仍须要从美国镜像库中拉取。
修改系统中docker对应的配置文件便可,以下:
vi /etc/docker/daemon.json #添加后 { "registry-mirrors": ["https://registry.docker-cn.com"], "live-restore": true }
运行下面的命令,将 image 文件从仓库抓取到本地。
docker pull library/hello-world
上面代码中,docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。
抓取成功之后,就能够在本机看到这个 image 文件了。
docker images #显示结果 REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest f2a91732366c 3 months ago 1.848 kB
如今,运行这个 image 文件。
docker run hello-world #显示结果 Hello from Docker! This message shows that your installation appears to be working correctly. ...
输出这段提示之后,hello world就会中止运行,容器自动终止。有些容器不会自动终止,由于提供的是服务,好比Mysql镜像等。
除过以上咱们使用的Docker命令外,Docker还有一些其它经常使用的命令
拉取docker镜像
docker pull image_name
查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:
docker images
删除镜像
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
查看当前有哪些容器正在运行
docker ps
查看全部容器
docker ps -a
启动、中止、重启容器命令:
docker start container_name/container_id docker stop container_name/container_id docker restart container_name/container_id
后台启动一个容器后,若是想进入到这个容器,可使用attach命令:
docker attach container_name/container_id
删除容器的命令:
docker rm container_name/container_id
删除全部中止的容器:
docker rm $(docker ps -a -q)
查看当前系统Docker信息
docker info
从Docker hub上下载某个镜像:
docker pull centos:latest
docker pull centos:latest
查找Docker Hub上的nginx镜像
docker search nginx
执行docker pull centos会将Centos这个仓库下面的全部镜像下载到本地repository。