docker基础篇-----01-----docker简介、安装、配置阿里云镜像加速器

参考文章:【学习笔记】尚硅谷周阳老师的Docker教程学习笔记

一 Docker简介

1. 简介

为了解决在开发环境可以运行程序,但是部署到实际业务环境后无法运行的情况,docker技术应运而生。docker容器技术可以将程序需要的环境、系统、配置、数据等程序需要的运行环境保存下,这样部署到另一台服务器后,也能正常运行。
docker官网:https://www.docker.com/。
docker中文官网:https://www.docker-cn.com/。
docker hub官网:https://hub.docker.com/。

2. Docker与传统虚拟化方式的不同

在这里插入图片描述

在这里插入图片描述

  • 1)传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。
  • 2)而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

3. Docker三要素

docker三要素:镜像、容器、仓库。
镜像就是模板,容器就是镜像的一个实例,docker利用容器独立运行一个或一组应用,可以把容器看作是一个简易版的Linux环境和运行在其中的应用程序,仓库是集中存放镜像的地方。

docker hub的仓库地址:https://hub.docker.com/。

4. Docker的安装

4.1 前提条件

Docker 要求 Ubuntu 系统的内核版本高于 3.10,通过 uname -r 命令查看你当前的内核版本。

uname -r

在这里插入图片描述

4.2 apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本
sudo apt-get remove docker docker-engine docker-ce docker.io
4.3 更新包信息,确保APT能使用https方式工作,并且CA证书已安装了
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
4.3 添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

在这里插入图片描述

4.4 使用下面的命令来设置stable存储库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 再更新一下apt包索引:
sudo apt-get update

4.5 列出可用的版本

apt-cache madison docker-ce

在这里插入图片描述

4.6 选择要安装的特定版本

上图第二列是版本字符串。
第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。
要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们。

# 方法一:下载指定版本
# sudo apt-get install docker-ce=<VERSION>
sudo apt-get install docker-ce=18.03.1~ce-0~ubuntu
# 方法二:或者直接安装最新版本的Docker CE:
sudo apt-get install -y docker-ce

这里我选择方法二下载。

4.7 验证docker,查看docker服务是否启动

systemctl status docker
# 若未启动,则启动docker服务,不过安装好后自动启动。
# sudo systemctl start docker

在这里插入图片描述

运行官方的例子hello world。有下列输出,表示成功安装完毕。

sudo docker run hello-world

在这里插入图片描述

4.8 配置阿里云镜像加速器

有时我们下载镜像的时候,由于仓库是国外的,所以非常的慢,所以我们最好配置阿里云的镜像加速器。这类似我们从github下载东西时,可以通过gitee等国内网址进行下载。
首先我们需要创建一个阿里云的账号,打开下面网址点击注册即可。它可以使用淘宝或者支付宝的账号进行注册阿里云账号。

阿里云docker仓库:https://dev.aliyun.com/search.html

注册完毕后,点击 用户中心—>点击左上角的三条线的符号—>容器镜像服务—>镜像工具—>镜像加速器。

左上角的三条线的符号如图:
在这里插入图片描述
在这里插入图片描述

然后按照图中的命令进行输入即可:

# 1.
sudo mkdir -p /etc/docker

# 2.
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": 自己的加速地址。
}
EOF

# 3.
sudo systemctl daemon-reload

# 4.
sudo systemctl restart docker

实际上第二步就是等同于:
vim /etc/docker/daemon.json
然后输入json字符串:
{
  "registry-mirrors": 自己的加速地址。
}

查看是否配置阿里云加速器成功。

sudo docker info|grep Mirrors -A 1
# Centos的查看方法为 ps -ef | grep docker

可以看到成功配置。
在这里插入图片描述

4.9 再次运行hello world

sudo docker run hello-world

在这里插入图片描述

可以看到同样成功运行。这里说一下,hello world容器执行完后会自动退出,所以此时docker ps查看正在运行的容器时,不会看到有hello world这个容器在运行。

这里主要想强调的是,因为上面我们已经下载了hello world这个镜像,所以不会再从仓库中下载。
例如不会再打印这些内容。
在这里插入图片描述

下面是运行镜像时的执行流程 (该图还是比较重要的对于理解docker的执行) :
在这里插入图片描述

4. 10 解决docker权限问题

docker后台进程是绑定的Unix的socket而不是TCP端口。默认情况下,Unix的socket属于用户root,其它用户要使用要通过sudo命令。由于这个原因,docker daemon通常使用root用户运行。
  为了避免当你使用docker命令的时候要添加sudo,可以创建一个Unix组名为docker并且添加用户。当docker daemon启动,它会分配Unix socket读写权限给所属的docker组。

# 1,判断docker用户组是否存在。
cat /etc/group | grep docker

# 2. 不存在则创建,存在则不需要创建。一般下载了docker都会存在,所以这条命令基本不需要执行。
# sudo groupadd docker

# 3. 添加用户到docker组
sudo gpasswd -a $USER docker 	# 将当前登录的用户加入到docker组。$USER代表当前用户。-a表示追加用户到用户组。
# 或者使用这条命令添加,一样的。
# sudo usermod -aG docker $USER	# 注意若使用这个命令,-a选项必须添加,表示追加的意思。若不加-a,会把已存在的用户组清空掉。-G表示添加用户到用户组。一般aG选项一起使用。

# 4. 更新docker组
newgrp docker

那么此时该用户执行docker的命令就不需要再加sudo了。

docker ps

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值