一、Docker简介

1. Docker是什么?

  • 产生背景: 开发和运维之间因为环境不同而导致的矛盾(不同的操作系统、软件环境、应用配置等) DevOps
  • 集群环境下每台服务器都配置相同的环境,太麻烦
  • 解决“在我的机器上可以正常工作”的问题

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的 Linux 机器上,也可以实现虚拟化。
阿里云、百度云等都支持Docker技术

官网:https://www.docker.com/
中文官网:http://www.docker­cn.com/

2. Docker作用

Docker是一种容器技术,使用Docker可以:

  • 将软件环境安装并配置好,打包成一个镜像Image,然后将该镜像发布出去(Docker仓库)
  • 其他使用者可以在仓库中下载获取这个镜像
  • 通过Docker运行这个镜像,就可以获取同样的环境(容器)

Docker简化了环境部署和配置,实现“一次构建,处处运行”,避免了因运行环境不一致而导致的异常

可以将Docker简单的认为是一个虚拟机,可以运行各种软件环境的虚拟机,但与传统虚拟机技术有所不同

Docker容器技术与传统虚拟机技术的区别:

  • 传统虚拟机技术:模拟一个完整的操作系统,先虚拟出一套硬件,然后在其上安装操作系统,最后在系 统上再运行应用程序

缺点:资源占用多,启动慢

  • Docker容器技术:不是模拟一个完整的操作系统,没有进行硬件虚拟,而是对进程进行隔离,封装成容 器,容器内的应用程序是直接使用宿主机的内核,且容器之间是互相隔离的,互不影响

优点:更轻便、效率高、启动快、秒级

二、基本术语

术语:

  • Docker主机(Host)
    安装了Docker程序的主机,运行Docker守护进程
  • Docker镜像(Image)
    将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器
  • Docker容器(Container)
    运行镜像后生成的实例称为容器,每运行一次镜像就会产生一个容器,容器可以启动、停止或删除 容器使用是沙箱机制,互相隔离,是独立是安全的
    可以把容器看作是一个简易版的Linux环境,包括用户权限、文件系统和运行的应用等
  • Docker仓库(Repository)
    用来保存镜像的,仓库中包含许多镜像,每个镜像都有不同的标签Tag
    官方仓库:https://hub.docker.com/

使用Docker的步骤:

  1. 安装Docker
  2. 从Docker仓库中下载软件对应的镜像
  3. 运行这个镜像,此时会生成一个Docker容器
  4. 对容器的启动/停止就是对软件的启动/停止

三、Docker-安装与阿里云镜像加速

以Centos7为例,且Docker 要求操作系统必须为64位,且centos内核版本为3.1及以上。
查看系统内核版本信息:

uname -r

一、准备

卸载旧版本:

yum list installed | grep docker 
yum -y remove ...

卸载后将保留 /var/lib/docker 的内容(镜像、容器、存储卷和网络等)。

rm -rf /var/lib/docker

1.安装依赖软件包

yum install -y yum-utils device-mapper-persistent-data lvm2 #安装前可查看device-mapper-persistent-data和lvm2是否已经安装 rpm -qa|grep device-mapper-persistent-data rpm -qa|grep lvm2

2.设置yum源

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

3.更新yum软件包索引

yum makecache fast

二、安装社区版

安装最新版本docker-ce

# 1、安装最新版本docker-ce
yum install docker-ce -y 

# 2、查看当前yum仓库所有docker版本
yum list docker-ce --showduplicates | sort -r
# 安装指定版本docker-ce可使用以下命令查看 
yum list docker-ce.x86_64 --showduplicates | sort -r 

# 安装完成之后可以使用命令查看 
docker version

三、设置开机启动与常用命令

docker version # 查看版本 
systemctl start docker # 启动 
systemctl stop docker # 停止 
systemctl status docker # 查看状态 
systemctl restart docker # 重启 
systemctl enable docker # 设置开机自动启动 

# 验证,下载hello-world镜像,运行hello-world容器
docker run hello-world # 下载hello­world镜像并运行

在这里插入图片描述

云线上docker实验环境

https://labs.play-with-docker.com/

在这里插入图片描述

四、配置镜像加速(这里我没使用)

这里使用阿里云的免费镜像加速服务,也可以使用其他如时速云、网易云等
1.注册登录开通阿里云容器镜像服务
2.查看控制台,找到镜像加速器并复制自己的加速器地址
进入阿里云容器镜像服务:
https://cr.console.aliyun.com/cn-beijing/instances/mirrors

3.配置自己的Docker加速器
找到/etc/docker目录下的daemon.json文件,没有则直接 vi daemon.json
4.加入以下配置

#填写自己的加速器地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://pgjhp4wg.mirror.aliyuncs.com"]
}
EOF

5.通知systemd重载此配置文件;

sudo systemctl daemon-reload

6.重启docker服务

sudo systemctl restart docker
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐