Docker----(一)安装及镜像加速器

1 Docker 简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:

  • DockerClient客户端
  • Docker Daemon守护进程
  • Docker Image镜像
  • DockerContainer容器

2 Docker 架构

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。

Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。

3 Docker的安装和部署

(1)编辑安装docker的仓库(使用阿里云的源):/etc/yum.repos.d/docker.repo

[docker]
name=docker-ce
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/
gpgcheck=0
  • 由于docker安装过程中存在大量的依赖性,为了一次性解决这个问题在这里我们采用阿里CentOS7的epel源,根据阿里云官方的步骤配置
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

在这里插入图片描述

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

在这里插入图片描述

(2)安装docker-ce: yum install docker-ce -y

(3)设置docker服务开机启动并立刻生效:systemctl enable --now docker.service

(4)用docker info命令来检查Docker的安装是否正确

  • 显示 Docker 系统信息,包括镜像和容器数:docker info

在这里插入图片描述

  • 查看Linux内核参数:sysctl -a |grep bridge-nf-call-iptables

在这里插入图片描述

  • 修改Linux内核参数,编辑 /etc/sysctl.d/的子配置文件:vim /etc/sysctl.d/docker.conf

在这里插入图片描述

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
  • 重新加载所有的配置文件:sysctl --system
  • 确认Linux内核参数已经被修改:sysctl -a |grep bridge-nf-call-iptables

在这里插入图片描述

  • 命令补全:yum install -y bash-*

在这里插入图片描述

  • 验证Docker 是否成功安装:docker info,不再有错误提示

在这里插入图片描述

4 Docker 镜像加速

国内从 DockerHub 拉取镜像速度会比较慢而且容易出错
在这里插入图片描述

我们可以通过配置镜像加速器解决,这里使用阿里云的Docker 镜像加速器,只需注册登陆阿里云即可获取

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 通过修改daemon配置文件使用镜像加速:vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://jfb56f9n.mirror.aliyuncs.com"]
}
  • 重新加载服务的配置文件:systemctl daemon-reload
  • 重启docker服务:systemctl restart docker.service
  • 测试:
    使用镜像加速器拉取的速度明显加快:docker pull busybox
    在这里插入图片描述

5 Docker的常用命令

(1)查看docker所有的镜像:docker images

在这里插入图片描述

(2)查看镜像的历史版本:docker history busybox:latest

在这里插入图片描述

(3)使用docker中的busybox镜像启动一个容器 :docker run -it busybox

[root@server1 sysctl.d]# docker run  -it busybox
/ # ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
/ # 
  • 显示操作系统的发行版号:uname -r,镜像和只是主机的一致

在这里插入图片描述
(4)退出并结束容器

  • 启动容器:docker run -it busybox

  • ctrl+d:直接退出并结束容器

  • 查看所有状态的容器:docker ps -a
    在这里插入图片描述

  • 强制删除容器(IP):docker rm -f 82d1c6fc573c
    rm 删除一个或多个容器,默认只能删除非运行状态的容器,-f参数可以强制删除
    在这里插入图片描述

(5)退出不关闭容器

  • 启动容器:docker run -it busybox
  • ctrl+p+q:推出容器不关闭容器
  • 查看当前运行的容器:docker ps

在这里插入图片描述

  • 将终端依附到容器上,进入ID为08edb376d680的容器:docker attach 08edb376d680

在这里插入图片描述

  • ctrl+p+q:推出容器不关闭容器
  • 查看所有状态的容器:docker ps -a
  • 强制删除容器:docker rm -f 08edb376d680

在这里插入图片描述

(6)在容器退出后,自动删除容器:docker run -it --rm busybox(ctrl+d)

  • 查看所有状态的容器:docker ps -a

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值