侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【Docker】Q&A

Administrator
2022-03-06 / 0 评论 / 0 点赞 / 107 阅读 / 3787 字

【Docker】Q&A

容器日志占用空间过大

  • 编写docker_log_size.sh脚本查看docker容器的日志文件情况
#!/bin/sh 
echo "======== docker containers logs file size ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
        do  
             ls -lh $log   
        done
  • 编写clean_docker_log.sh脚本清理docker容器的日志
#!/bin/sh 
echo "======== start clean docker containers logs ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  

echo "======== end clean docker containers logs ========"
  • 新建etc/docker/daemon.json配置文件
vim /etc/docker/daemon.json
  • 添加log-dirver和log-opts参数
{
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

修改容器的env参数

  • 关闭docker服务
systemctl stop docker
  • 修改容器的env参数
vim /var/lib/docker/containers/容器id/config.v2.json
  • 启动容器
systemctl start docker
  • 查看修改之后的env
docker exec -it 容器id env

我现在有一个镜像里面配置了一个nginx,但是我发现这个nginx的配置不对,我想修改一下这个配置,但是要保留原来的镜像,请给出具体的操作步骤和说明

如果你想更改nginx的配置但又想保留原始的Docker镜像,你可以这样操作:

步骤一:首先,运行原始的Docker镜像并创建一个新的容器:

docker run -d --name mynginx -p 8080:80 your-nginx-image

其中,mynginx是你创建的新容器的名称,your-nginx-image是原始的nginx Docker镜像的名称。

步骤二:进入你刚才创建的新的Docker容器:

docker exec -it mynginx /bin/bash

步骤三:在容器中修改你想更改的nginx配置文件。通常,这个配置文件在/etc/nginx/nginx.conf或者/etc/nginx/conf.d/。你可以使用任何你习惯的编辑器进行修改,例如vinano

vi /etc/nginx/nginx.conf

步骤四:修改完配置文件后,保存并退出编辑器,然后退出容器:

exit

步骤五:现在你的新容器中nginx的配置已经被修改,你可以保存这个容器为新的Docker镜像:

docker commit mynginx mynginx-new

其中,mynginx是你的新容器的名称,mynginx-new是你保存的新Docker镜像的名称。

步骤六:你可以通过运行新的Docker镜像来验证新的nginx配置是否生效:

docker run -d --name testnginx -p 8081:80 mynginx-new

这时你可以尝试访问localhost的8081端口看看是否nginx配置已经按照你的预期进行更改。

注意,所有的这些操作都是在保留原始Docker镜像的基础上进行的,也就是说,你的原始Docker镜像并没有被改动。

0

评论区