Docker 安装教程

   
文章摘要
摘要小助理今天溜号啦……😜

如何安装docker

1. 官方脚本

1
2
3
4
# 第一条没速度就用第二条
curl -sSL https://get.docker.com/ | sh

bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)

2. 手动安装

前言

我[基本所有的服务](https://www.nodeseek.com/post-50221-1)全都是靠docker+nginx解决,性能上没问题,也不用担心装各种东西把系统环境搞得乱七八糟,甚至相互冲突。docker安装和使用也极为简便。但是我看到有人用1panel装docker再卸载1panel,且不说这样装的docker是不是最新的、官方的、干净的,这不是脱裤子放屁吗。所以我来说说要怎么安装docker。

只用debian系统举例,实际上这就是官方文档里面的,我复制粘贴稍微修改的,docker官方清清楚楚的给了一步一步的教程指路。建议还是按照这个来安装。直接一句一句或者几句一起复制粘贴都可以。

安装依赖

1
2
apt update
apt install ca-certificates curl gnupg -y

获取仓库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null
  
apt update

安装主体

1
2
3
4
5
apt update 

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

systemctl enable --now docker

想要以非root用户运行docker,直接在非root用户下运行

1
sudo usermod -aG docker $USER

完成。除非你的debian系统有问题(例如缺少重要系统依赖,非官方,已经安装过其他版本docker等等),不然这个步骤不会出任何问题。最新的docker早就自带docker compose,命令也是docker compose,不用装docker-compose了。其他系统其实一样的,官网有。

3. 常用命令

针对容器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 启动容器
docker start Name/ID

# 停止容器
docker stop Name/ID

# 杀死容器
docker kill Name/ID

# 删除容器
docker rm Name/ID

# 显示正在运行的容器:
docker ps

# 显示全部容器:
docker ps -a

# 进入容器内部
docker exec -it NAME /bin/sh
or
docker exec -it ID /bin/sh

针对镜像

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 检索 image
docker search image-name

# 下载 image
docker pull image-name

# 显示全部镜像:
docker images

# 删除镜像
docker rmi ID

保存和加载镜像

1
2
3
4
5
# 保存镜像到一个 tar 包
docker save image-name:image-tag -o file-path.tar

# 加载一个 tar 包格式的镜像
docker load -i file-path.tar

清理相关

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 清理未使用image
docker image prune

# 清理已经停止的容器
docker container prune

# 清理不再使用的数据卷
docker volume prune

# 清理Build Cache
docker builder prune

# 清理所有多余占用,不会影响运行容器,但慎用
docker system prune

4. 其他技巧

4.1 Docker 离线包优雅 pull 方法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 先在国外vps 下载镜像
docker pull  hello-world:latest

# 导出镜像
docker save hello-world:latest | gzip > hello.tar.gz

# 放到网站 根目录下,例如  https://lyvba.com/hello.tar.gz

# 导入镜像
wget -q -O -  https://lyvba.com/hello.tar.gz | docker load

# 其他测试命令
docker rmi -f  hello-world
docker images
docker run  hello-world
CC BY-NC-SA 4.0
最后更新于 2024-11-05 03:44