docker-logo

Docker容器是一款很便捷的作业虚拟化工具,软件环境打包和迁移非常友好。后面的文章分享过的不少软件搭建都须要用到Docker,如搭建SeafilePro云盘、FileBrowser云盘、AdGuardHome去广告等等,不过好多时侯都略过了Docker的安装,这儿简单的写一写在Debian系统(适用于最新的Debian11以及Debian10系统)上安装Docker的教程以及一些基本的使用命令,其实,你也可以从官方文档中找到在不同系统中的详尽安装教程。

假如你如今使用的是Debian10系统,想要升级到最新的Debian11,可以参考我后面的文章:从Debian10升级到Debian11教程

安装Docker

以下所有的操作以root用户进行演示,假如你是以root权限用户执行red hat linux,请在后面加上sudo命令

安装软件包依赖

我们须要从Docker官方的储存库中安装,因而将储存库添加到Debian系统中,而在添加Docker官方储存库之前,须要打算一些环境:

apt install -y 
    apt-transport-https 
    ca-certificates 
    curl 
    gnupg 
    lsb-release

如右图所示:

install-docker-env

添加Docker储存库

将储存库添加到Debian系统中:

添加GPG秘钥:

 curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加到系统软件源:

x86_64/amd64平台:

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

arm64平台:

echo 

Docker基础命令使用方法_Docker安装教程 Debian系统_docker --device

"deb [arch=arm64 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

安装Docker

直接更新软件包索引,之后安装:

apt update
apt install -y docker-ce docker-ce-cli containerd.io

安装好以后可以通过以下命令查看Docker是否开启手动启动并查看状态:

systemctl is-enabled docker
systemctl is-enabled containerd
systemctl status docker

可以从右图中见到,Docker正在运行而且设置了开机手动启动。

使用hello-world镜像测试Docker能够正常运行:

docker run hello-world

假如你的结果于右图类似,则说明才能正常使用:

至此,你的Docker早已成功安装而且还能正常使用了。

卸载Docker

卸载DockerEngine,CLI和Containerd包:

apt-get purge docker-ce docker-ce-cli containerd.io

删掉所有镜像、容器和配置文件等:

rm -rf /var/lib/docker

docker --device_Docker基础命令使用方法_Docker安装教程 Debian系统

rm -rf /var/lib/containerd

安装DockerCompose通过库房安装

后面安装Docker是早已添加过库房了,这儿可以直接安装(默认会安装ComposeV2):

apt install docker-compose-plugin

测试安装:

docker compose version

更新Compose:

apt update
apt install docker-compose-plugin

自动安装下载稳定版本的DockerCompose:

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

请自行替换为须要的版本docker --device,假如你须要安装ComposeV2,可以参考。

赋于可以执行权限:

chmod +x /usr/local/bin/docker-compose

测试安装:

docker-compose --version
# docker-compose version 1.29.2, build 5becea4c

Docker基本使用

下边介绍一些Docker常用的基本命令。你可以直接输入docker查看Docker的所有命令,或则查看runoob教程。

添加Docker软件镜像

Docker安装教程 Debian系统_Docker基础命令使用方法_docker --device

对于国外用户来说,Docker默认的软件源下载速率会很慢,这儿可以z直接更改下边的文件(Docker版本>=1.10)添加国外的镜像地址:

vim /etc/docker/daemon.json

添加以下内容:

{
 "registry-mirrors" : [
   "https://docker.mirrors.ustc.edu.cn",
   "http://registry.docker-cn.com",
   "https://dockerhub.azk8s.cn"
 ]
}

里面的部份地址可能会失效,你可以替换为你喜欢的镜像地址docker --device,之后重新启动Docker:

systemctl daemon-reload
systemctl restart docker

运行命令dockerinfo,查看最后的RegistryMirrors下是否有设置的内容,有的话就设置成功了。

容器/镜像使用

查看正在运行的容器:

docker ps

查看所有容器:

docker ps -a

查看所有镜像:

docker images

停止所有容器:

Docker基础命令使用方法_Docker安装教程 Debian系统_docker --device

docker stop $(docker ps -a -q)

删掉所有容器:

docker rm $(docker ps -a -q)

删掉所有镜像:

docker rmi $(docker images -q)

若果是控制某一个容器/镜像,只须要将前面的变量$()换成该容器/镜像的ID

查看指定容器日志:

docker logs -f [container-name/id]

也可以和“–tailn”命令结合上去,查看日志最后n行:

docker logs --tail 10 [container-name/id]

步入容器:

有两种方法步入后台运行的容器:

dockerattach(假如退出会造成容器停止)

docker attach [container-name/id]

dockerexec(推荐)

docker exec -it [container-name/id] /bin/bash

导出/导入容器:

导入容器快照到本地(通过重定向命名):

docker export [container-name/id] > my_container.tar

将本地容器快照导出为镜像:

cat my_container.tar | docker import - my_container:new

Dockerrun命令

下边介绍以下Docker中用得最多的运行容器命令。

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

完整的OPTIONS说明可以使用dockerrun--help查看,下边是部份常用的说明:

Dockersystem命令

dockersystem命令是Docker提供的帮助我们管理查看Docker运行情况的命令,你可以通过dockersystem--help查看介绍:

Usage:  docker system COMMAND
Manage Docker
Commands:
  df          Show docker disk usage
  events      Get real time events from the server
  info        Display system-wide information
  prune       Remove unused data
Run 'docker system COMMAND --help' for more information on a command.

其中比较有用的是df和prune两个指令:

还可在不同在子命令下执行prunelinux公社,拿来删掉某类资源

其实,你也可以通过下边的命令直接愈发彻底的完全删掉某类资源(慎重使用):

赏阅。悦赏!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复