ubuntu下Docker的安装、卸载以及常用命令介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

我这里使用的是ubuntu系统,如果想要使用其它系统进行操作,可以查阅官方网站。目前Docker支持以下的ubuntu版本:

  • Ubuntu Hirsute 21.04
  • Ubuntu Groovy 20.10
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)
  • Ubuntu Xenial 16.04 (LTS)

1. 安装和卸载

1.1 卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

如果想进行彻底卸载,或者打算再也不用Docker,可以依次执行以下命令:

# 卸载
sudo apt-get purge docker-ce docker-ce-cli containerd.io 

# 删除目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

1.2 设置仓库

  • 更新apt包索引
sudo apt-get update
  • 安装 apt 依赖包,用于通过HTTPS来获取仓库
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • 添加官方的GPG密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  • 设置Docker稳定版仓库

可以设置官方版本,也可以设置国内的版本,推荐使用国内版本,访问速度会更快

# Docker官方版本
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# 中科大版本
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

1.3 安装Docker Engine-Community

  • 方式一:安装最新版本

安装最新版本的 Docker Engine-Community 和 containerd

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 方式二:安装指定版本的Docker

如果想安装指定版本,可以选择下列的方式,首先查询自己的可用的版本

 apt-cache madison docker-ce

然后会列出自己的版本:

  docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.1~ce~3-0~ubuntu       | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  docker-ce | 18.06.0~ce~3-0~ubuntu       | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  xenial/stable amd64 Packages
  ...

使用下列命令安装指定版本:

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

1.4 检查Docker CE是否安装成功

sudo docker run hello-world

如果输出下列命令表示安装成功
在这里插入图片描述

2. 常用命令

可以使用docker --help命令查看常用命令,同理其他命令也可使用help命令进行查看,例如:

 docker images --help 

会出现下列输出:

Usage:  docker images [OPTIONS] [REPOSITORY[:TAG]]

List images

Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print images using a Go template
      --no-trunc        Don't truncate output
  -q, --quiet           Only show image IDs

可以看到有很多的选项,所以这里就不对每个options进行讲解,只是对命令进行说明。

2.1 基础操作

  • 启动docker
systemctl start docker
  • 关闭docker
systemctl stop docker
  • 重启docker
systemctl restart docker
  • 查看docker 运行状态
systemctl status docker
  • 查看docker版本
docker version
  • 显示docker系统信息
docker info
  • 为了防止每次都使用sudo命令,在这里需要执行下列命令添加权限:
sudo groupadd docker
sudo gpasswd -a <YourName> docker  # 比如:sudo gpasswd -a james docker 
sudo service docker restart
  • 也可以直接进入root权限模式
# 进入root的方法:
sudo su #方法1
sudo su root # 方法2
# 退出root
sudo su user # user表示自己的用户名

2.2 镜像操作

命令功能
docker images列出镜像
docker search django搜索镜像
docker search --filter=STARS=9000 mysql搜索 STARS >9000的 mysql 镜像
docker pull 镜像名拉取镜像版本latest
docker pull 镜像名:tag拉取指定版本镜像
docker push 镜像名发布最新版本latest镜像
docker pull 镜像名:tag发布指定版本镜像
docker rmi 镜像名或镜像id删除镜像
docker rmi -f $(docker images -aq)删除全部镜像,-a:全部;-q:显示ID
docker image rm 镜像名称/镜像ID强制删除镜像
docker history 镜像名称/镜像ID显示一个镜像的历史

2.3 容器操作

  • 查看docker状态
命令功能
docker ps -a查看所有容器,包括未运行的容器
docker ps -l列出最近一次启动的container
docker top Name/ID显示一个运行的容器里面的进程信息
docker logs查看容器日志
docker inspect获取容器/镜像的元数据
  • 关于run
命令功能
docker run image_name echo “hello word”创建容器并运行"echo"命令,输出"hello word"
docker run -i -t image_name /bin/bash交互式进入容器中,-i交互式;-t:终端;-d:后台运行
docker run image_name apt-get install -y app_name在容器中安装新的程序
docker run -it -d --name redis001 redis:5.0.5 /bin/bash–name:取别名
docker run -itd --name redis002 -p 8888:6379 redis:5.0.5 /bin/bash-p 8888:6379将容器内部的 6379端口与docker 宿主机8888 端口进行映射
docker exec -it {容器ID} /bin/bash进入正在运行的容器
docker attach 容器名/容器ID进入容器,不建议使用;进入容器正在执行终端,不会启动新的进程
  • docker容器的启动、停止和删除
命令功能
docker stop 容器名或容器id停止容器
docker start 容器名或容器id启动一个已经停止的容器
docker kill 容器名或容器idkill一个正在运行的容器
docker rm 容器名或容器id删除容器
docker rm -f $(docker ps -aq)删除全部容器
  • docker保存加载
命令功能
docker commit 容器名 镜像名将容器保存为镜像
docker commit -m=“提交信息” -a=“作者信息” 容器名/容器ID 提交后的镜像名:Tag附加信息的保存镜像
docker save tomcat -o myimg.tar打包镜像
docker load -i myimg.tar加载镜像
  • 其他
命令功能
docker cp 容器ID/名称: 容器内路径 容器外路径从容器内 拷出
docker cp 容器外路径 容器ID/名称: 容器内路径从外部 拷贝文件到容器内
Ctrl-D或者exit指令退出容器
### Ubuntu操作系统上安装Docker的详细教程 #### 准备工作 确保操作环境为支持的Ubuntu版本,如Ubuntu 20.05,在此环境中进行Docker安装[^1]。 #### 卸载旧版Docker组件 为了防止新旧版本冲突,需先移除任何已存在的较早版本Docker及其相关包。这一步骤对于初次安装用户可能不是必需的,但对于曾经尝试过安装Docker的老用户来说非常重要。 ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` #### 更新软件源并设置依赖项 更新现有的软件列表至最新状态,并准备必要的依赖关系以便后续能够顺利添加Docker仓库: ```bash sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release ``` #### 添加官方GPG密钥 获取来自Docker官方网站的安全签名公钥,用于验证即将下载的内容真实性,保障安全性[^2]: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` #### 设置稳定版存储库 配置APT以允许从HTTPS访问Docker镜像资源库,同时指定只使用稳定的发布版本作为默认选项: ```bash echo "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 ``` #### 正式安装Docker引擎 完成上述准备工作之后,即可正式开始安装Docker社区版(CE),这是最常用的免费版本之一: ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` #### 验证安装成功与否 最后但同样重要的是确认Docker服务已经启动并且可以正常运行,可以通过下面这条命令查看当前正在运行的服务容器列表来检验是否一切就绪: ```bash sudo systemctl status docker ``` 如果显示`active (running)`则说明安装过程顺利完成[^3]。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非晚非晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值