Docker系列一:基本概念讲述

2018-11-25  本文已影响0人  进击的杰克马

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命令,用于前期的构建以及后期的维护。

image.png
上一篇下一篇

猜你喜欢

热点阅读