update:docker

This commit is contained in:
dichgrem
2025-10-24 20:52:01 +08:00
parent 01cbcbf9ee
commit 22e848ef8b
2 changed files with 176 additions and 66 deletions

View File

@@ -57,6 +57,164 @@ echo \
sudo apt update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo apt update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```` ````
## 常用命令
### 基础命令
| 命令 | 说明 |
| ------------------------- | ------------------------ |
| `docker version` | 查看 Docker 版本信息 |
| `docker info` | 查看 Docker 系统信息,包括镜像和容器数量 |
| `docker help` | 查看帮助信息 |
| `docker <command> --help` | 查看某个命令的详细帮助 |
---
### 镜像相关命令Images
| 命令 | 说明 |
| ---------------------------------- | ----------------- |
| `docker images` | 列出本地所有镜像 |
| `docker search nginx` | 从 Docker Hub 搜索镜像 |
| `docker pull nginx:latest` | 拉取镜像 |
| `docker rmi nginx:latest` | 删除镜像 |
| `docker rmi $(docker images -q)` | 删除所有镜像 |
| `docker inspect nginx` | 查看镜像详细信息 |
| `docker tag nginx myrepo/nginx:v1` | 给镜像打标签 |
| `docker save -o nginx.tar nginx` | 导出镜像为 tar 包 |
| `docker load -i nginx.tar` | 从 tar 文件加载镜像 |
---
### 容器管理命令Containers
| 命令 | 说明 |
| --------------------------------------------- | ----------------- |
| `docker ps` | 查看正在运行的容器 |
| `docker ps -a` | 查看所有容器(包括已停止) |
| `docker run -d -p 80:80 --name web nginx` | 启动容器(后台运行) |
| `docker run -it ubuntu /bin/bash` | 启动交互式容器 |
| `docker exec -it web bash` | 进入正在运行的容器 |
| `docker logs -f web` | 查看容器日志(`-f` 实时输出) |
| `docker stop web` | 停止容器 |
| `docker start web` | 启动容器 |
| `docker restart web` | 重启容器 |
| `docker rm web` | 删除容器 |
| `docker rm $(docker ps -aq)` | 删除所有容器 |
| `docker inspect web` | 查看容器详细信息 |
| `docker stats` | 查看容器资源使用情况 |
| `docker top web` | 查看容器内运行的进程 |
| `docker cp web:/path/in/container ./localdir` | 从容器复制文件到主机 |
| `docker cp ./file web:/path/in/container` | 从主机复制文件到容器 |
---
### 网络相关命令Networks
| 命令 | 说明 |
| ------------------------------------- | -------- |
| `docker network ls` | 列出所有网络 |
| `docker network inspect bridge` | 查看网络详情 |
| `docker network create mynet` | 创建自定义网络 |
| `docker network connect mynet web` | 将容器连接到网络 |
| `docker network disconnect mynet web` | 将容器从网络断开 |
| `docker network rm mynet` | 删除网络 |
---
### 数据卷Volumes
| 命令 | 说明 |
| ---------------------------------- | ---------- |
| `docker volume ls` | 查看所有卷 |
| `docker volume create mydata` | 创建数据卷 |
| `docker volume inspect mydata` | 查看卷详情 |
| `docker volume rm mydata` | 删除数据卷 |
| `docker run -v mydata:/data nginx` | 启动容器并挂载卷 |
| `docker run -v $(pwd):/app nginx` | 挂载主机目录到容器中 |
---
### 构建与导出镜像Build & Export
| 命令 | 说明 |
| --------------------------------------- | ------------ |
| `docker build -t myapp:latest .` | 构建镜像 |
| `docker commit web myimage:v1` | 将容器保存为镜像 |
| `docker save -o myimage.tar myimage:v1` | 导出镜像文件 |
| `docker load -i myimage.tar` | 导入镜像文件 |
| `docker export web > web.tar` | 导出容器文件系统 |
| `docker import web.tar myweb:v1` | 从 tar 文件导入镜像 |
---
### 系统清理与维护
| 命令 | 说明 |
| ------------------------ | --------------- |
| `docker system df` | 显示磁盘使用情况 |
| `docker system prune` | 清理无用的容器、镜像、卷和网络 |
| `docker image prune` | 清理未使用的镜像 |
| `docker container prune` | 清理已停止的容器 |
| `docker volume prune` | 清理无用卷 |
---
### Docker Compose多容器管理
| 命令 | 说明 |
| ------------------------ | -------- |
| `docker compose up -d` | 启动服务(后台) |
| `docker compose down` | 停止并删除容器 |
| `docker compose ps` | 查看当前项目容器 |
| `docker compose logs -f` | 查看日志 |
| `docker compose build` | 重新构建服务镜像 |
| `docker compose restart` | 重启服务 |
---
### 卸载 Docker
> 删除所有 Docker 容器和 Docker 本身
1. 首先停止所有正在运行的容器:
```
docker stop $(docker ps -aq)
```
2. 删除所有容器
删除所有容器(包括停止的容器):
```
docker rm $(docker ps -aq)
```
3. 删除所有镜像
```
docker rmi $(docker images -q)
```
4. 删除所有网络
```
docker network prune -f
```
5. 删除所有未使用的卷
```
docker volume prune -f
```
6. 卸载 Docker
如果您希望完全删除 Docker 本身,可以执行以下命令:
```
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo apt-get autoremove --purge
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
```
这些命令会卸载 Docker 软件并删除 Docker 数据目录。
---
## 使用Docker-Compose ## 使用Docker-Compose
- 目标:创建一个``Searxng服务``并对外开放。 - 目标:创建一个``Searxng服务``并对外开放。

View File

@@ -26,7 +26,7 @@ tags = ["乱七八糟"]
# 更新系统 # 更新系统
apt update && apt upgrade -y apt update && apt upgrade -y
apt install wget curl vim sudo neofetch apt install wget curl vim sudo neofetch
# 添加普通用户并赋予sudo # 创建用户并赋予sudo
adduser xxx adduser xxx
sudo usermod -aG sudo xxx sudo usermod -aG sudo xxx
``` ```
@@ -166,71 +166,6 @@ sudo cat /etc/ssh/sshd_config | grep -E 'PasswordAuthentication|PubkeyAuthentica
> 注意**authorized_keys**的权限为600如果不是则需要改正``chmod 600 ~/.ssh/authorized_keys`` > 注意**authorized_keys**的权限为600如果不是则需要改正``chmod 600 ~/.ssh/authorized_keys``
## Docker
### 脚本安装
Docker 官方提供了一个安装脚本,可以自动选择适当版本,并规避仓库问题:
```
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
这个脚本会为你的系统自动选择合适的安装方式。
### 卸载 Docker
要删除所有 Docker 容器和 Docker 本身,可以按照以下步骤操作:
1. 首先停止所有正在运行的容器:
```
docker stop $(docker ps -aq)
```
2. 删除所有容器
删除所有容器(包括停止的容器):
```
docker rm $(docker ps -aq)
```
3. 删除所有镜像
```
docker rmi $(docker images -q)
```
4. 删除所有网络
```
docker network prune -f
```
5. 删除所有未使用的卷
```
docker volume prune -f
```
6. 卸载 Docker
最后,如果您希望完全删除 Docker 本身,可以执行以下命令:
```
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo apt-get autoremove --purge
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
```
这些命令会卸载 Docker 软件并删除 Docker 数据目录。
### Docker 常用命令
```
docker-compose up -d #在后台启动容器
docker-compose ps #查看正在运行的容器
docker-compose down #停止并移除所有运行中的容器
docker-compose stop #停止容器,但保留数据和卷
docker pull <镜像名称>:latest #拉取最新镜像
docker-compose build #更新镜像后重新构建
docker-compose logs #查看日志
docker image prune -a #删除所有未被容器使用的镜像
```
## 常用环境 ## 常用环境
- ALL - ALL
@@ -444,6 +379,23 @@ GRUB_DEFAULT="Advanced options for Debian>Debian, with Linux 6.8.6-x64v3-xanmod1
sudo update-grub sudo update-grub
``` ```
## 更换系统
除了到VPS后台更换外还可以使用这个脚本
- [bin456789/reinstall](github.com/bin456789/reinstall)
```
一键重装到 Linux支持 19 种常见发行版
一键重装到 Windows使用官方原版 ISO 而非自制镜像,脚本支持自动查找 ISO 链接、自动安装 VirtIO 等公有云驱动
支持任意方向重装,即 Linux to Linux、Linux to Windows、Windows to Windows、Windows to Linux
自动设置 IP智能设置动静态支持 /32、/128、网关不在子网范围内、纯 IPv6、IPv4/IPv6 在不同的网卡
专门适配低配小鸡,比官方 netboot 需要更少的内存
全程用分区表 ID 识别硬盘,确保不会写错硬盘
支持 BIOS、EFI 引导,支持 ARM 服务器
不含自制包,所有资源均实时从镜像源获得
```
--- ---
**Done.** **Done.**