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

Posted 非晚非晚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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下deb包的解压打包安装卸载及常用命令参数

Ubuntu 命令教程全录

如何卸载linux下docker

Ubuntu下查看安装的程序,以及卸载方法

01-Docker-Ubuntu下docker安装及卸载

01-Docker-Ubuntu下docker安装及卸载