centos7安装docker CE
查看现有docker版本 docker version
卸载旧版,见官网
https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites
centos7.3 安装docker服务以及compose 免除sudo使用docker命令
http://www.zyizou.com/archives/496
明确术语及用法
要学习docker,首先要理解它的三个概念:镜像(Image)、容器(Container)、仓库(Repository)。同时你还需要知道它们之间的相互关系。
镜像Image
docker镜像是使用Dockerfile脚本,将你的应用以及应用的依赖包构建而成的一个应用包,它通常带有该应用的启动命令。而这些命令会在容器启动时被执行,也就是说你的应用在启动容器时被启动。
镜像的创建,需要通过配置Dockerfile脚本,然后执行docker build命令来创建。
举个例子:
docker build -t mydocker/node-server:v1 .
简单解释下:
后面的 “.” 表示当前目录下。
当执行docker build命令时,docker会寻找当前目录下的Dockerfile文件,
并根据Dockerfile脚本文件里的指令创建docker镜像
查看镜像
root@:/tmp# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 29e0ae3b69b9 7 days ago 484 MB
容器Container
容器是使用 docker run --name 容器名 镜像 命令创建的,独立于宿主机(服务器)的沙箱,也可以理解为一个带有特殊结构的盒子,它在创建时会自动执行镜像自带的一些指令,从而实现该应用的运行。
狭隘地讲,容器的主要作用就在于给镜像提供运行空间和环境,并执行镜像的指令。
查看正在运行或暂停的容器 docker ps
查看系统上已运行过并已退出的容器 docker ps -a
仓库Repository
顾名思义,仓库是用来存东西的,但不是存容器,而是存储docker镜像。你可以把你的docker镜像通过push命令推送到docker仓库,然后就可以在任何能使用docker命令的地方通过pull命令把这个镜像拉取下来。
镜像,容器,仓库的关系
docker的使用方式主要有docker命令,Dockerfile脚本,以及shell脚本三种。
换句话说,你可以把docker当做命令行工具来使用。
有一点上面已经讲解过,docker是沙箱机制,容器化部署技术,它主要作用在于通过运行容器来实现应用部署,而容器则基于镜像运行。
因此,首先要有镜像,有了镜像才能基于镜像创建容器,才能把镜像存储在仓库。
于是可以这么理解,镜像是基础,容器是镜像使用者,仓库是镜像的管理员。容器和仓库都是围绕着镜像来运作的,是对镜像的管理和使用。
另外,镜像,容器,仓库都分别有一套自己的docker命令,用于前期的构建以及后期的维护。