Docker安装

卸载历史版本

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-get update
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

systemctl enable docker
docker info # 基本信息
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]
posted @ 2023-04-01 18:16  Byron_Zora  阅读(57)  评论(0编辑  收藏  举报