概述
什么是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
参考文档