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)
(75)
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)
(115)
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)
(130)
2023-11-7 myluzh
Docker
0x00 前言
使用docker部署jenkins后使用流水线docker build提示找不到docker命令,找了好久解决了,需要把docker挂载出来。
第二个问题是docker login 私有仓的时候 提示证书不对,需要在配置文件添加下insecure-registries
0x01 jenkins正确部署命令
docker run --name jenkins \
-u root \
--rm -d \
-p 8092:8080 \
-v /var/jenkins_home:/var/jenkins_home \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/docker/:/etc/docker \
jenkins/jenkins:lts
启动后在本机/etc/docker/daemon.json上添加insecure-regstries里面写上你jenkins流水线do...
阅读全文>>
标签: docker devops cicd jenkins
评论(0)
(110)
2023-11-6 myluzh
Docker
1、部署docker-compose
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
2、生成证书
# 生成CA证书私钥
openssl genrsa -out ca.key 4096
# 生成CA证书,harbor.itho.cn为域名地址
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.itho.cn" \
-key ca.key \
-out ca.crt
# 将服务器证书和密匙复制到Harbor主机上的证书文件夹中
cp ca.crt /root/harbor/ca.c...
阅读全文>>
标签: docker 镜像 仓库 harbor 私有
评论(0)
(228)
2023-6-27 myluzh
Docker
0x00 前言
系统性地看完了《深入浅出Docker》这本干货,通俗易懂写得挺不错的。我现在对Docker的整个工作原理都有了一定的了解,并总结出了一些常用的命令,做下笔记备用。
0x01 容器
运行容器
docker run -d --restart=always --name nextcloud -p 80:80 -v /home/docker/nextcloud/:/var/www/html/ --link mysql nextcloud:latest
参数解释:-d 后台运行容器返回容器id
--restart=always 自动启动相关容器
--name 运行容器的名称
 ...
阅读全文>>
标签: 网络 docker 容器 镜像 仓库
评论(0)
(141)