Ubuntu 安装指定版本 docker

如果你过去安装过 docker,先删掉: sudo apt-get remove docker docker-engine docker.io containerd runc 首先安装依赖: sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common 信任 Docker 的 GPG 公钥并添加仓库: 发行版 sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirror.nju.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 安装最新 ...

April 30, 2023 | 1 分钟 | 152 字 | Tianlun Song

检查当前终端是不是 Docker

要确定当前运行的终端是否在 Docker 容器内,可以检查容器特定的文件和环境变量。以下是一种方法,通过查看 /proc/1/cgroup 文件来判断: cat /proc/1/cgroup 观察输出的内容。如果您看到与 Docker 相关的内容(如 docker 或 containerd),则表示您当前正在 Docker 容器内运行。例如: ...

April 27, 2023 | 1 分钟 | 226 字 | Tianlun Song

查看 Docker cp 进度

docker cp 命令本身不提供进度查看功能。但是,您可以使用第三方工具,如 pv(Pipe Viewer)在执行 docker cp 时查看进度。以下是使用 pv 查看 docker cp 进度的步骤: ...

March 29, 2023 | 2 分钟 | 672 字 | Tianlun Song

迁移 Docker volume 到本地挂载点

要将 Docker volume 迁移到本地挂载点,您需要执行以下步骤: 首先,确保已停止正在使用此 volume 的所有容器。您可以使用以下命令停止容器(将 <container_name> 替换为您的容器名称): ``` docker stop <container_name> 1. 使用 docker cp 命令将 volume 的内容复制到本地文件系统。首先,创建一个临时容器,将要迁移的 volume 挂载到该容器: ``` docker run -d --name temp_container -v <volume_name>:/volume_data busybox tail -f /dev/null 将 <volume_name> 替换为要迁移的 volume 的名称。 ...

March 28, 2023 | 1 分钟 | 375 字 | Tianlun Song

Dockerfile 禁止弹出 apt 安装交互视图

在 Dockerfile 中执行 apt 安装时,有些软件包可能会在安装过程中弹出交互式视图,例如询问用户是否接受软件包许可证或配置软件包参数等。在 Docker 构建过程中,由于无法进行交互式操作,这些视图可能会导致构建失败或出现不可预期的结果。为避免这些问题,可以通过以下方法避免在 Docker 构建过程中弹出交互式视图: ...

March 13, 2023 | 1 分钟 | 380 字 | Tianlun Song

部署 Prometheus 主机监控完全体

监控完全体 = Prometheus + Node Exporter + cadvisor + grafana Prometheus 作为轮转数据库,从各个服务器采集数据; node-exporter 作为数据采集器,接受 prometheus 采集请求,上报主机各项参数; vadvisor 作为容器数据采集器,接受 prometheus 采集请求,上报主机 docker 各项参数; grafana 作为看板,从 prometheus 查询数据做数据可视化。 ...

December 2, 2022 | 2 分钟 | 906 字 | Tianlun Song

Juice FS 初探 | 一种为 VPS 提供无限磁盘空间的解决方案

JuiceFS 是一款面向云原生设计的高性能分布式文件系统,在 Apache 2.0 开源协议下发布。提供完备的 POSIX 兼容性,可将几乎所有对象存储接入本地作为海量本地磁盘使用,亦可同时在跨平台、跨地区的不同主机上挂载读写。 ...

November 20, 2022 | 4 分钟 | 1698 字 | Tianlun Song

Nginx Proxy Manager - Docker 建站最佳伴侣

很长一段时间中,我都在思考容器建站的可行性。 容器有诸多益处,各类好处就不一一列举了。 在企业场景下,K8s 几乎一骑绝尘,可以完成大规模集群统一管理,完成几乎所有 Web 资源的自动调度。 ...

November 20, 2022 | 3 分钟 | 1217 字 | Tianlun Song

深挖 docker 默认网络 | 为什么 docker 默认网络能上外网

为什么默认配置创建出来的 docker 容器可以访问外网,为什么监听对应端口就能对外暴露docker服务,一张图搞清楚。 首先 Docker 有四中网络模式, 分别是 Bridge、Host、Container、None,默认使用 Bridge,今天就来讲讲 Bridge。 ...

December 28, 2021 | 2 分钟 | 686 字 | Tianlun Song

申威(神/声)(SW)1621 + UOS 20 编译安装 Docker | 容器国产化适配

环境 OS: UOS 20 1021 12011.101 CPU: SW_64 SW1621 步骤 本地编译 runc 1.解压 runc 源码至 ~/go/src/github.com/opencontainers 目录; ~/go/ └── src └── github.com └── opencontainers └── runc 2.进入 runc 主目录,替换 vendor/golang.org/x/sys/unix 目录为申威平台 golang1.14.1 源码 go-sw64-1.14.1/src/cmd/vendor/golang.org/x/sys/unix 目录。 3.修改 libcontainer/system/syscall_linux_64.go 文件,在文件头添加 sw64 架构定义 //+build sw64。 ...

November 10, 2021 | 4 分钟 | 1954 字 | Tianlun Song