概述

什么是docker

Docker是一个应用容器引擎。 一个容器可以理解成是一个轻量级的虚拟机。但是又和虚拟机有些不同。

  • docker有着比虚拟机更少的抽象层
  • docker利用的是宿主机的内核,而不需要加载操作系统OS内核

为什么要使用docker

  • 解决应用部署的不便,让应用部署更加简单方便
  • 避免环境不同导致问题
  • 降低微服务阶段的学习成本,减少安装时间,聚焦核心
  • 为理解实际开发中的打包发布流程打基础

Docker核心概念

  • 镜像:相当于一个容器的模板
  • 容器:可以理解成是一个轻量级的虚拟机
  • 镜像仓库:存放镜像的仓库

docker的安装

准备安装环境

1#安装前先卸载操作系统默认安装的docker,
2sudo apt-get remove docker docker-engine docker.io containerd runc
3
4#安装必要支持
5sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

开始安装

 1#添加 Docker 官方 GPG key (可能国内现在访问会存在问题)
 2curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 3
 4# 阿里源(推荐使用阿里的gpg KEY)
 5curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 6
 7
 8
 9#添加 apt 源:
10#Docker官方源
11echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
12
13
14#阿里apt源
15echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
16
17
18#更新源
19sudo apt update
20sudo apt-get update
1#安装最新版本的Docker
2sudo apt install docker-ce docker-ce-cli containerd.io
3#等待安装完成
4
5#查看Docker版本
6sudo docker version
7
8#查看Docker运行状态
9sudo systemctl status docker

安装Docker 命令补全工具

1sudo apt-get install bash-completion
2
3sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
4
5source /etc/bash_completion.d/docker.sh

添加docker用户组

用户在不添加sudo命令来直接使用docker

 1sudo groupadd docker
 2
 3# 将当前用户添加到用户组
 4sudo usermod -aG docker $USER
 5
 6# 使权限生效
 7newgrp docker
 8
 9# 查看所有容器
10docker ps -a
11
12# 最后一步 更新.bashrc文件
13sudo nvim ~/.bashrc

在.bashrc文件最后一样添加

1groupadd -f docker

如果没有此行命令每次打开新的终端都必须先执行一次 “newgrp docker” 命令

配置镜像

在 /etc/docker/daemon.json添加可以用的镜像(10.5可用)

 1sudo mkdir -p /etc/docker
 2sudo tee /etc/docker/daemon.json <<-'EOF'
 3{
 4    "registry-mirrors": [
 5        	"https://cf-workers-docker-io-7s3.pages.dev",
 6            "https://docker.aityp.com/",
 7        	"https://dockerproxy.cn"
 8    ]
 9}
10EOF
11sudo systemctl daemon-reload
12sudo systemctl restart docker

重启docker

1sudo systemctl daemon-reload
2sudo systemctl restart docker

测试是否安装成功

1docker run hello-world

参考文档

docker的安装

配置docker镜像

CF-Workers-docker.io:Docker仓库镜像代理工具