Myluzh Blog

Strive to become a dream architect.

Docker多阶段构建

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) (71)

MinIO多节点集群部署与负载均衡配置

2023-12-27 myluzh Kubernetes

0x01 MinIO单节点Docker部署 1、docker minio 单机挂载单盘 run起来后直接访问http9001就是面板 docker run -it -d --name minio \\ --restart=always \\ -p 9000:9000 \\ -p 9001:9001 \\ -v /data/minio/data:/data \\ -e "MINIO_ROOT_USER=admin" \\ -e "MINIO_ROOT_PASSWORD=admin123" \\ minio/minio server /data --console-address ":9001" 2、docker minio 单机挂载多盘 4块盘分别为 data1、data2、data3、data4。 docker run -it -d --name minio \\ --restart=always \\ -p 9000:9000 \\ -p 9001:9001 \\ -v /data/minio/data1:/data1 \\ -v /data/minio/data2:/data2 \\ ...

阅读全文>>

标签: docker 存储 minio 分布式 对象存储 负载均衡

评论(0) (162)

清理Docker容器日志bash

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) (109)

Docker部署Zabbix6 Server/Agent

2023-12-4 myluzh Zabbix

1、 部署mysql # mysql docker pull mysql:8.0 docker volume create -d local mysql_data # 存放mysql数据 docker volume create -d local mysql_logs # 存放mysql日志 docker volume create -d local mysql_conf # 存放mysql配置文件 docker run --name mysql-server \ -v mysql_data:/var/lib/mysql \ -v mysql_logs:/var/log/mysql \ -v mysql_conf:/etc/mysql \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="123456" \ --restart=unless-stopped \ -d mysql:8.0 \ --character-s...

阅读全文>>

标签: docker zabbix

评论(0) (109)

定制RabbitMQ镜像+在K8S集群中部署单节点&多节点RabbitMQ

2023-11-9 myluzh Kubernetes

0x01 定制RabbitMQ镜像 本文章基于DockerHub镜像rabbitmq:3.12.8-management,由于官方镜像没有集成有些插件,需要在镜像中安装插件并重新打包。 rabbitmq_delayed_message_exchange延迟队列插件的安装,rabbitmq 插件下载(官网):https://www.rabbitmq.com/community-plugins.html【根据rabbitmq版本选择对应的插件,web管理页面首页可以查看rabbitmq版本】,手动安装插件教程参考:https://blog.csdn.net/user2025/article/details/105620908 下载完成rabbitmq_delayed_message_exchange-3.12.0.ez后,放到跟dockerfile同一目录,然后使用docker build进行打包。 DockerFile如下: FROM rabbitmq:3.12.8-management ADD ./rabbitmq_delayed_message_exchange-3.12.0.ez /pl...

阅读全文>>

标签: docker k8s dockerfile rabbitmq

评论(0) (289)

Docker部署GitLab-CE

2023-11-8 myluzh Docker

0x01 docker部署 docker run -d \ --name gitlab \ -p 9443:443 \ -p 9999:80 \ -p 9998:22 \ -v /etc/gitlab:/etc/gitlab \ -v /var/log/gitlab:/var/log/gitlab \ -v /var/opt/gitlab:/var/opt/gitlab \ -v /etc/localtime:/etc/localtime \ --privileged=true \ gitlab/gitlab-ce:latest 访问地址:http://IP:9999  首次登陆页面的账号是root,密码则是临时密码,保存在/etc/gitlab/initial_root_password中,初始密码保存24小时,自动删除,首次登陆后需要修改密码操作。 0x02 配置ssh秘钥 SSH密钥用于在您的电脑和GitLab建立安全连接。 SSH 指纹验证客户端是否连接到正确的主机。 # 在本地计算机上生成了SSH密钥对,请将 "your_ema...

阅读全文>>

标签: docker gitlib git

评论(0) (127)