卸载旧版本
之前没有安装过docker就不需要这一步的操作了。
1sudo apt-get remove docker docker-engine docker.io containerd runc
Debian系统
国内安装
因为最近的docker源被屏蔽在国内服务器上已经无法正常使用docker服务了,只能通过配置镜像源方式使用了。
- 更新仓库,安装必要的软件包
1sudo apt-get update2sudo apt-get install ca-certificates curl
- 添加网易镜像源gpg
1# Add 163 mirror's GPG key:2sudo apt-get update3sudo apt-get install ca-certificates curl4sudo install -m 0755 -d /etc/apt/keyrings5sudo curl -fsSL https://mirrors.163.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker-163.asc6sudo chmod a+r /etc/apt/keyrings/docker-163.asc
- 设置仓库
1echo \2 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker-163.asc] https://mirrors.163.com/docker-ce/linux/debian \3 $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \4 sudo tee /etc/apt/sources.list.d/docker-163.list > /dev/null5sudo apt-get update
国外正常安装
- 更新仓库,安装必要的软件包
1sudo apt-get update2sudo apt-get install ca-certificates curl
- 添加gpg
1sudo mkdir -m 0755 -p /etc/apt/keyrings2curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- 设置仓库
1echo \2 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \3 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装docker和docker-compose
1sudo apt-get update2sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
国内配置镜像源
在 /etc/docker/daemon.json
文件(如果没有该文件则新建)里新增配置:
1vim /etc/docker/daemon.json
在文件中添加如下内容:
1{2 "registry-mirrors": [3 "https://registry.docker-cn.com",4 "http://hub-mirror.c.163.com",5 "https://dockerhub.azk8s.cn",6 "https://mirror.ccs.tencentyun.com",7 "https://registry.cn-hangzhou.aliyuncs.com",8 "https://docker.mirrors.ustc.edu.cn",9 "https://docker.m.daocloud.io",10 "https://noohub.ru",11 "https://huecker.io",12 "https://dockerhub.timeweb.cloud"13 ]14}
配置完成后,重启docker
1service docker restart
运行sudo apt-get
时收到GPG错误?
你的默认umask可能配置不当,阻止了对版本库公钥文件的检测。在更新软件包索引之前,尝试授予Docker公钥文件的读取权限。
请使用下面代码修复:
1sudo chmod a+r /etc/apt/keyrings/docker.gpg2sudo apt-get update
安装完成之后,查看docker版本
1docker version
检查docker-compose版本
1docker compose version # Docker Compose version vN.N.N
解决docker权限问题
最后面几行可能会出现权限报错,错误显示如下:
Got permission denied while trying to connect to the Docker daemon socket at…
解决办法如下:
1sudo groupadd docker #添加docker用户组2sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中3newgrp docker #更新用户组
注意:这里新版本跟旧版本有区别。旧版本是docker-compose version
,同样新版本使用docker-compose
启动容器命令也修改为了docker compose up -d
。
Debian卸载docker
- 卸载docker、docker-cli、docker-compose:
1sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
- 删除images,containers,volumns:
1sudo rm -rf /var/lib/docker2sudo rm -rf /var/lib/containerd
- 您需要手动删除没有被自动删除的自定义配置文件。
Windows系统
安装wsl2,开启系统支持子系统linux
控制面板 -> 程序 -> 启用或关闭windows功能
说明:
- 开启hyper-v为后期虚拟机环境和安装docker做准备
- 开启SMB功能,实现家庭网络存储互联(SMB1.0/CIFS在linux上挂载SMB的时候需要开启)
- 开启支持wsl功能
检查和安装系统: WSL可能是1.0版本的,需要升级到2.0版本才能完整的支持docker,可以查看官方文档升级—# 旧版 WSL 的手动安装步骤。(根据文档不要忘记设置默认版本为wsl2)
如何把已安装的系统从wsl1升级到wsl2?
1wsl -l -v # 查询已安装的系统版本2wsl --set-version [系统名称] 2 # 升级到wsl2
安装docker
官网下载Docker Desktop,下载完成后解压安装即可。
修改软件源
如果你有不错的科学上网工具,你就不需要设置这个了,如果没有的话可以试试使用阿里云的地址,有的时候也可能会适得其反,用了镜像反而没速度不用反而有速度。
登录阿里云官网 -> 控制台 -> 容器镜像服务
然后根据官网文档的提示操作,修改源。
修改docker的占用内存
docker的服务搭建越来越多,内存占用会越来越大,可以根据自己的内存容量分配一下以免被docker占用的了全部内存。
在用户的家目录下新增一个.wslcong 文件