2025-1-24 myluzh
Docker
容器管理相关命令
功能
Docker 命令
ctr 命令
拉取镜像
docker pull <image>
ctr image pull <image>
查看镜像列表
docker images
ctr image list
删除镜像
docker rmi <image>
ctr image remove <image>
启动容器
docker run <image>
ctr container create --tty <image>
列出正在运行的容器
docker ps
...
阅读全文>>
标签: docker ctr
评论(0)
(106)
2025-1-20 myluzh
Docker
1、docker pull /push 的代理被 systemd 接管,所以需要设置 systemd
mkdir -p /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/proxy.conf
vi /etc/systemd/system/docker.service.d/proxy.conf
2、编辑proxy.conf文件
# proxy.conf
[Service]
Environment="HTTP_PROXY=http://172.30.172.136:4780"
Environment="HTTPS_PROXY=http://172.30.172.136:4780"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com,172.16.0.0/12"
3、重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
# 可以看到设置的环境变量
sud...
阅读全文>>
标签: docker docker代理 docker pull docker proxy
评论(1)
(102)
2024-6-7 myluzh
Docker
0x01 Docker Save & Load
docker save: 用于将Docker镜像保存为.tar文件。这个过程会保存镜像的所有层、元数据和历史记录,因此生成的文件较大。当你需要备份或者迁移某个镜像时非常有用,尤其是当你需要保留镜像的全部构建历史以便将来在其他地方恢复时。
docker save -o my_image.tar my_image:tag
docker load: 用来载入由docker save创建的镜像文件,将其恢复到本地镜像库中。这个过程不会允许你为导入的镜像指定新的名称,如果本地已有同名镜像,它会被覆盖。
docker load -i my_image.tar
0x02 Docker Export & Import
docker export: 用于将运行中的Docker容器导出为一个 tar 归档文件。与save不同,export只导出容器当前的状态(即最终的文件系统层),不包含容器的元数据或历史记录,因此导出的文件通常比用save导出的镜像文件要小。
docker export my_container > my_container.tar
docker impo...
阅读全文>>
标签: docker import save export load
评论(0)
(590)
2024-5-24 myluzh
Docker
0x01 描述
在使用 Docker 时发现其默认的网段与你的内网网段冲突,可以考虑修改 Docker 的默认网段以避免冲突。
0x02 解决
打开 daemon.json 文件,并添加或修改 "bip"(bridge IP)字段来设置 Docker 的网桥 IP 地址和子网掩码。你可以选择一个与你的内网网段不冲突的网段。例如:
# vim /etc/docker/daemon.json
{
"bip": "192.168.0.1/24"
}
# systemctl reload docker
# systemctl restart docker
阅读全文>>
评论(0)
(247)
2024-2-22 myluzh
Docker
0x01 概述
Docker 分阶段构建是指在 Dockerfile 中使用多个 FROM 指令来分割构建过程,将整个构建过程分为多个阶段。每个阶段可以有自己的基础镜像,执行特定的构建步骤,并且可以从前一个阶段复制构建结果。最终只有最后一个阶段的构建结果会被保留在最终的镜像中,其它阶段的中间产物不会被包含在最终的镜像中。
分阶段构建的优点包括:
减小镜像大小:通过将构建过程分解为多个阶段,可以避免将构建工具和中间产物包含在最终的镜像中,从而减小镜像的大小。
加快构建速度:每个阶段可以并行执行,节省构建时间。
更好的可维护性:分阶段构建可以更清晰地组织构建过程,使得 Dockerfile 更易于阅读和维护。
0x02 示例
下面是一个使用 Docker 分阶段构建 Python 应用的示例:
# 第一阶段:构建依赖环境
FROM python:3.8 AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r ...
阅读全文>>
标签: docker 多阶段 构建 builder
评论(0)
(328)
2023-12-19 myluzh
Docker
vim clear-docker-loggin.sh
#!/bin/sh
# 清理Docker容器日志文件的脚本
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo -n "clean logs :"; du -sh $log
cat /dev/null > $log
done
# 清理不再使用的Docker镜像
docker image prune -a -f
# 清理不再运行的Docker容器
docker container prune -f
# 清理所有未被使用的Docker卷
docker volume rm $(docker volume ls -qf dangling=true)
阅读全文>>
标签: 日志 docker log 清理
评论(0)
(307)