Docker中基本概念

镜像(Image)
镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

容器(Container)
容器,从认识上来说,就是类创建的实例,就是依据镜像这个模板创建出来的实体。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。

仓库(Repository)
仓库,从认识上来说,就好像软件包上传下载站,有各种软件的不同版本被上传供用户下载。镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。

安装

1.安装一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

2.添加软件源信息

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.更新yum元缓存

yum makecache fast

4.安装

yum -y install docker-ce

5.启动服务

service docker start

简单操作docker

查看docker版本

docker version

查看docker信息

docker info

下载一个nginx镜像

docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
afb6ec6fdc1c: Already exists 
b90c53a0b692: Pull complete 
11fa52a0fdc0: Pull complete 
Digest: sha256:30dfa439718a17baafefadf16c5e7c9d0a1cde97b4fd84f63b69e13513be7097
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

查看镜像库

docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              9beeba249f3e        37 hours ago

运行容器

docker run -dit -p 80:80 nginx
##参数说明
-d:后台运行容器
-i:允许你对容器内的标准输入 (STDIN) 进行交互
-t:在新容器内指定一个伪终端或终端
-p:映射端口(端口转发)

查看容器运行信息

docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
a7b53af4ba05        nginx               "nginx -g 'daemon of…"   4 minutes ago       Up 4 minutes        80/tcp              vigilant_cray

验证:

镜像载入 镜像装载什么意思_nginx

停止容器:
docker stop ID

docker stop d9b9f08e2026

启动容器
docker start ID

docker start d9b9f08e2026

删除容器
docker rm 容器id

##容器停止状态
docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES
d9b9f08e2026        nginx               "nginx -g 'daemon of…"   3 minutes ago       Exited (0) About a minute ago                       wonderful_kilby
a7b53af4ba05        nginx               "nginx -g 'daemon of…"   9 minutes ago       Exited (0) 3 minutes ago                            vigilant_cray

docker rm d9b9f08e2026
d9b9f08e2026