卸载历史版本
| apt-get remove docker docker-engine docker.io containerd runc |
| whereis docker # 确保没有和docker相关的文件 |
安装依赖
| apt install apt-transport-https ca-certificates curl gnupg lsb-release |
安装GPG证书
| curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg |
写入软件源信息
| echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null |
安装
| chmod a+r /usr/share/keyrings/docker-archive-keyring.gpg |
| apt-cache madison docker-ce # 查询存储库中可用的版本,可以安装时指定 |
| apt-get install docker-ce # Docker守护进程(=5:23.0.5-1~debian.11~bullseye) |
| apt-get install docker-ce-cli # CLI工具用来远程控制Docker守护进程 |
启动
| 1. 启动: systemctl start docker |
| 2. 检查 Docker 是否正在运行: systemctl status docker |
| 3. 开机启动: systemctl enable docker && systemctl restart docker && systemctl status docker |
| 4. 查看安装版本:docker --version |
| 5. 查看基本信息:docker info |
设置开机启动 docker
| docker --version # 检查安装版本 |
使用镜像加速
| mkdir -p /etc/docker |
| tee /etc/docker/daemon.json <<-'EOF' |
| { |
| "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] #这个地址是自己阿里云帐号工作台分配的 |
| } |
| EOF |
| |
配置国内镜像源
| # 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 |
| { |
| "registry-mirrors" : [ |
| "https://0b9643e96aef4355b7dcdbef7d013d80.mirror.swr.myhuaweicloud.com", |
| "https://y4jxiled.mirror.aliyuncs.com", |
| "http://hub-mirror.c.163.com", |
| "https://registry.docker-cn.com", |
| "https://docker.mirrors.ustc.edu.cn", |
| "https://cr.console.aliyun.com/", |
| ] |
| } |
| # 重启docker服务使配置生效 |
| systemctl daemon-reload |
| systemctl restart docker |
将当前用户加入 docker 用户组
| usermod -aG docker $USER && newgrp docker |
卸载Docker
卸载软件和依赖
| apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin |
卸载资源
| rm -rf /var/lib/docker |
| rm -rf /var/lib/containerd |
Docker空间清理(清理后在使用docker构建时所有的依赖会重新下载,慎用!)
- 查看:docker system df #可以加-v参数,更详细
- 清理:docker system prune -a
- 如果发现df 和 du不一致
| 通过 lsof | grep deleted 命令查看那些引用着被删除文件的进程 |
| 将这些进程 kill 掉,再看 df 和 du 就一致了 |
docker常用命令
查看镜像:docker image ls
删除镜像:docker image rm [IMAGE ID] #或者[REPOSITORY:TAG]
导入镜像操作: docker load < xxx.tar
进入镜像:docker run -it [IMAGE ID] #exit退出
docker run 运行容器
| docker run -d --rm --name hello_world -v $PWD:/test |
| 1. -d: 后台运行容器,并返回容器ID; |
| 2. --rm:退出容器以后,这个容器就被删除了,方便在临时测试使用 |
| 3. --name hello_world: 为容器指定一个名称,不指定名称,docker会默认创建一个名称; |
| 4. -v $PWD:test : 将容器中的目录/test 挂载到 宿主机 当前 目录下 |
- 查看运行的容器:docker ps -a
- 结束运行的容器:docker stop [CONTAINER ID]
- 删除容器:docker rm [CONTAINER ID]
本文作者:Byron_Zora
本文链接:https://www.cnblogs.com/byzora/p/17279060.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步