Docker简介及安装使用 入门篇

前言

前几天项目要求快速上线并且部署多态服务器环境,小编一台一台服务器的yum ,install ,vim, restart ,这重复的机械操作实在是让我忍受不了,那时心里想要是有一个U盘,能把整个环境一台一台的Ctrl+V 过去,那该多好啊。突然想起来Docker不就是我想要的那个U盘嘛。

Docker简介

Docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。

Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要关心容器的管理,使得操作更加简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。

Docker架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker镜像,就相当于是一个root文件系统。比如官方镜像 ubuntu:16.04 就包含了完整一套 Ubuntu 16.04 最小系统的root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系:
容器与镜像的关系类似于面向对象编程中的对象与类。
在这里插入图片描述
镜像是构建Docker的基石。用户基于镜像来运行自己的容器。镜像也是Docker生命周期中的“构建”部分。镜像是基于联合文件系统的一种层式结构,由一系列指令一步步构建出来。
也可以将镜像当做容器的“源代码”。镜像体积很小,非常“便携”,易于分享,存储和更新。

Docker可以帮助你构建和部署容器,只需要把自己的应用程序或服务打包放进容器即可。容器是基于镜像启动起来的,容器中可以运行一个或多个进程。我们可以认为,镜像是Docker生命周期中的构建或打包阶段,而容器则是启动或者执行阶段。容器基于镜像启动,一旦容器启动完成后,我们就可以登录到容器中安装自己需要的软件或服务。Docker容器方便替换,可以叠加,易于分发,并且尽量通用。

Registry(注册中心)

Docker用Registry来保存用户构建的镜像。Registry分为公共和私有两种。Docker公司运营公共的Registry叫做Docker Hub。用户可以在Docker Hub注册账号,分享并保存自己的镜像(在Docker Hub下载镜像巨慢,可以自己搭建私有的Registry)。

Docker的安装,启动和停止

安装

1、yum包更新到最新

 sudo yum update

2、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

 sudo yum install -y yum-utils device-mapper-persistence-data lvm2

3、设置yum源为阿里云

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

4、安装docker

sudo yum install docker-ce

5、安装后查询docker版本

 docker -v

设置ustc 的镜像:
ustc是老牌的Linux镜像服务提供者,ustc的docker镜像加速器速度很快。
ustc docker mirror 的优势之一就是不需要注册,是真正的公共服务。
1、编辑该文件
vi /etc/docker/daemon.json
2、在该文件下输入如下内容:

{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

启动和停止

systemctl 命令是系统服务管理器指令
1、启动docker

systemctl start docker

2、停止docker

systemctl stop docker

3、重启docker

systemctl restart docker

4、查看docker状态

systemctl status docker

5、开机启动

systemctl enable docker

6、查看docker概要信息

docker info

7、查看docker帮助文档

docker  --help

常用命令

镜像相关命令

1、查看镜像

docker images

各个属性字段含义:
在这里插入图片描述
2、搜索镜像
如果需要从网络中查找需要的镜像,可以通过下面命令来搜索:

docker search 镜像名称

各个属性字段含义:
在这里插入图片描述
3、拉取镜像
拉取镜像就是从中央仓库中下载镜像到本地:

docker pull 镜像名称

4、删除镜像
按镜像ID删除镜像:

docker rmi  镜像ID

在这里插入图片描述
删除所有镜像:

docker rmi `docker images -q`

容器相关命令

1、查看容器
查看正在运行的容器:

docker  ps

查看所有容器:

docker  ps  -a

查看最后一次运行的容器:

docker  ps -l

查看停止的容器:

docker  ps -f status=exited

注意: docker若以守护式容器在后台运行程序,如果想要进入容器则需要执行命令:
如: docker exec -it mycentos2 /bin/bash
2、创建和启动容器
创建容器的命令:

docker run

创建容器常用参数说明:
-l : 表示运行容器
-t : 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name : 为创建的容器命名
-v : 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d : 在run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -I - t 两个参数,创建后就会自动进去容器)
-p : 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。

3、启动和停止容器
停止容器:

docker stop 容器名称(或者容器ID

启动容器:

docker start容器名称(或者容器ID

4、文件拷贝
如果我们需要将文件拷贝到容器内可以使用cp 命令:

docker cp 需要拷贝的文件或目录  容器名称:容器目录

也可以将文件从容器内拷贝出来:

docker cp 容器名称:容器目录  需要拷贝的文件或目录  

5、查看容器IP地址
查看容器运行的各种数据:

docker inspect 容器名称(容器ID

也可以直接执行下面的命令直接输出IP地址:

docker inspect --format='{{.NetworkSettings.IPAddress}}'  容器名称(容器ID

6、删除容器
删除指定的容器:

docker rm 容器名称(容器ID
发布了198 篇原创文章 · 获赞 245 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Sophia_0331/article/details/105678150