如果你过去安装过 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 安装最新
...
要确定当前运行的终端是否在 Docker 容器内,可以检查容器特定的文件和环境变量。以下是一种方法,通过查看 /proc/1/cgroup 文件来判断:
cat /proc/1/cgroup 观察输出的内容。如果您看到与 Docker 相关的内容(如 docker 或 containerd),则表示您当前正在 Docker 容器内运行。例如:
...
docker cp 命令本身不提供进度查看功能。但是,您可以使用第三方工具,如 pv(Pipe Viewer)在执行 docker cp 时查看进度。以下是使用 pv 查看 docker cp 进度的步骤:
...
要将 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 的名称。
...
在 Dockerfile 中执行 apt 安装时,有些软件包可能会在安装过程中弹出交互式视图,例如询问用户是否接受软件包许可证或配置软件包参数等。在 Docker 构建过程中,由于无法进行交互式操作,这些视图可能会导致构建失败或出现不可预期的结果。为避免这些问题,可以通过以下方法避免在 Docker 构建过程中弹出交互式视图:
...
监控完全体 = Prometheus + Node Exporter + cadvisor + grafana
Prometheus 作为轮转数据库,从各个服务器采集数据; node-exporter 作为数据采集器,接受 prometheus 采集请求,上报主机各项参数; vadvisor 作为容器数据采集器,接受 prometheus 采集请求,上报主机 docker 各项参数; grafana 作为看板,从 prometheus 查询数据做数据可视化。
...
JuiceFS 是一款面向云原生设计的高性能分布式文件系统,在 Apache 2.0 开源协议下发布。提供完备的 POSIX 兼容性,可将几乎所有对象存储接入本地作为海量本地磁盘使用,亦可同时在跨平台、跨地区的不同主机上挂载读写。
...
很长一段时间中,我都在思考容器建站的可行性。
容器有诸多益处,各类好处就不一一列举了。
在企业场景下,K8s 几乎一骑绝尘,可以完成大规模集群统一管理,完成几乎所有 Web 资源的自动调度。
...
为什么默认配置创建出来的 docker 容器可以访问外网,为什么监听对应端口就能对外暴露docker服务,一张图搞清楚。
首先 Docker 有四中网络模式, 分别是 Bridge、Host、Container、None,默认使用 Bridge,今天就来讲讲 Bridge。
...
环境 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。
...