首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
244 阅读
2
麒麟KylinV10离线下载安装包及安装
173 阅读
3
iStoreOS上使用WireGuard
135 阅读
4
UNRAID增加和缩小虚拟机虚拟磁盘大小
52 阅读
5
麒麟v10系统openssh升级OpenSSH_10.0p2-OpenSSL 3.4.2
50 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
登录
Search
标签搜索
nginx
unraid
PVE
数据库
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
奥黛丽·逐爱者
累计撰写
116
篇文章
累计收到
21
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
页面
Linux常用
docker常用
关于
搜索到
26
篇与
docker
的结果
2025-11-06
容器时区与宿主机不一致的经典问题
问题:宿主机时间是 中国标准时间 CST(UTC+8),而容器里默认是 UTC 时间Docker 容器默认使用 UTC 时区,除非你在镜像里或运行时显式指定了其他时区。有的镜像里连 /etc/localtime 这个文件都不存在,所以单纯挂载宿主机的 /etc/localtime 进去不会生效分析一条规则打天下:“只挂 zoneinfo 目录,统一用 TZ 变量指向文件,绝不碰 /etc/localtime” 所有镜像(Alpine、Debian、BusyBox、RedHat)都认 TZ 变量, BusyBox 也认“文件路径”形式的 TZ,因此无需再 ln、无需改 /etc,也无需打新镜像。解决方法1、只挂一条只读卷,把宿主机整个 zoneinfo 目录挂到容器同名路径:volumes: - /usr/share/zoneinfo:/usr/share/zoneinfo:ro2、环境变量:environment: - TZ=Asia/Shanghai验证脚本(修改实际容器名)for c in nginx tomcat9-jdk8 python-app; do echo === $c === docker exec $c date +'%F %T %Z' done
2025年11月06日
6 阅读
0 评论
0 点赞
2025-09-24
docker镜像下tomcat中文乱码和日志输出问题
{collapse}{collapse-item label="中文乱码问题" open}docker-compose.yml 中 tomcat 服务部分,添加以下环境变量:environment: - TZ=Asia/Shanghai - UMASK=0022 - LANG=C.UTF-8 - LC_ALL=C.UTF-8 - JAVA_OPTS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8确保 conf/logging.properties 中控制台处理器编码为 UTF-8:java.util.logging.ConsoleHandler.encoding = UTF-8{/collapse-item}{collapse-item label="日志输出和分割"}让 Tomcat 输出到 catalina.outdocker-compose.yml,在 tomcat 服务中加:command: > bash -c "mkdir -p /usr/local/tomcat/logs && catalina.sh run >> /usr/local/tomcat/logs/catalina.out 2>&1"日志分割Tomcat 默认不会分割 catalina.out它会一直追加写入,文件会越来越大,除非你手动处理。用 logrotate(宿主机处理)在宿主机创建配置文件:sudo nano /etc/logrotate.d/tomcat-catalina内容如下:(按实际路径) /opt/1panel/docker/compose/web/tomcat/logs/catalina.out { daily rotate 7 compress missingok notifempty copytruncate }然后手动测试一次:sudo logrotate -vf /etc/logrotate.d/tomcat-catalina可选:确认定时任务是否启用cat /etc/cron.daily/logrotate确保它存在且可执行:ls -l /etc/cron.daily/logrotate{lamp/}nginx新建配置文件sudo nano /etc/logrotate.d/nginx-docker填入以下内容(关键配置):注意实际路径 /data/vdb/docker/compose/web/nginx/logs/*.log { daily missingok rotate 7 compress delaycompress dateext notifempty sharedscripts postrotate docker kill nginx -s USR1 endscript }测试配置文件语法sudo logrotate -d /etc/logrotate.d/nginx-docker手动执行一次(强制轮转)sudo logrotate -f /etc/logrotate.d/nginx-docker应该能看到类似:access.log(当前日志) access.log-20241105(昨天的日志) access.log-20241104.gz(前天的压缩日志){/collapse-item}{/collapse}
2025年09月24日
12 阅读
0 评论
0 点赞
2025-06-28
Kylin V10 SP2 ARM64 系统上构建一个包含 Tomcat 的 Docker 镜像
下载好jdk包确保当前目录有 jdk-8u441-linux-aarch64.tar.gz# 使用通用的 ARM64 基础镜像(推荐 alpine 或 debian,体积更小) FROM arm64v8/ubuntu:20.04 # 或者如果你必须用 Kylin 用户态环境,可以从本地导入: # FROM kylin:v10-sp2-arm64 # 设置环境变量 ENV JAVA_HOME /usr/local/jdk1.8.0_441 ENV CATALINA_HOME /usr/local/tomcat ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin # 安装必要工具(Ubuntu 用 apt,Kylin 用 yum) RUN apt-get update && \ apt-get install -y wget tar && \ rm -rf /var/lib/apt/lists/* # 复制 ARM64 版 JDK(必须匹配宿主架构!) COPY jdk-8u441-linux-aarch64.tar.gz /tmp/ RUN tar -xzf /tmp/jdk-8u441-linux-aarch64.tar.gz -C /usr/local/ && \ rm /tmp/jdk-8u441-linux-aarch64.tar.gz # 下载 Tomcat(无需区分架构) RUN wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.106/bin/apache-tomcat-9.0.106.tar.gz && \ tar -xzf apache-tomcat-9.0.106.tar.gz -C /usr/local/ && \ mv /usr/local/apache-tomcat-9.0.106 $CATALINA_HOME && \ rm apache-tomcat-9.0.106.tar.gz # 安全加固:创建专用用户 RUN groupadd -r tomcat && \ useradd -r -g tomcat -d $CATALINA_HOME -s /bin/false tomcat && \ chown -R tomcat:tomcat $CATALINA_HOME # 暴露端口 EXPOSE 8080 # 以非 root 用户运行 USER tomcat WORKDIR $CATALINA_HOME CMD ["catalina.sh", "run"]构建镜像docker build -t tomcat-arm64:9.0.106 .
2025年06月28日
3 阅读
0 评论
0 点赞
2025-06-28
python的docker镜像构建(麒麟v10sp2arm64)
优化后的 DockerfileFROM python:3.10.11-slim WORKDIR /app # 设置环境变量抑制警告 ENV PIP_ROOT_USER_ACTION=ignore \ PYTHONUNBUFFERED=1 # 使用国内镜像源 RUN sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list && \ sed -i 's|security.debian.org|mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list # 安装系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ wkhtmltopdf \ fonts-wqy-zenhei \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 复制预下载的wheel文件 COPY wheels/*.whl /tmp/wheels/ # 安装Python依赖(不升级pip) RUN pip install --no-cache-dir \ --index-url https://mirrors.aliyun.com/pypi/simple/ \ /tmp/wheels/*.whl \ && rm -rf /tmp/wheels # 验证安装 RUN python -c "import flask, pdfkit; print('验证通过')" CMD ["python"]{lamp/}wheels目录内的文件requirements.txt列表asgiref==3.8.1 blinker==1.9.0 click==8.1.8 Django==4.2.23 Flask==3.1.1 importlib_metadata==8.7.0 itsdangerous==2.2.0 Jinja2==3.1.6 MarkupSafe==3.0.2 numpy==2.0.2 pandas==2.3.0 python-dateutil==2.9.0.post0 pytz==2025.2 six==1.17.0 sqlparse==0.5.3 typing_extensions==4.14.0 tzdata==2025.2 Werkzeug==3.1.3 zipp==3.23.0 pdfkit==1.0.0 requests==2.32.3 pypdf2==3.0.1==============================================已验证成功的ARM64版本 (2025-07-04)特点:1. 基于python:3.10.11-slim-buster-linuxarm642. 使用阿里云Debian源和清华pip源3. 包含wkhtmltopdf ARM64版完整安装4. 包含所有Python依赖项构建命令:docker build -t your-app:arm64 .==============================================FROM python:3.10.11-slim-buster-linuxarm64 WORKDIR /app # 阿里云Debian源 RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \ sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list # 安装系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ xfonts-75dpi \ xfonts-base \ fontconfig \ libjpeg62-turbo \ libx11-6 \ libxext6 \ libxrender1 \ xfonts-utils \ fonts-wqy-zenhei \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 安装wkhtmltopdf COPY wkhtmltopdf.deb /tmp/ RUN apt-get update && \ apt-get install -y /tmp/wkhtmltopdf.deb --no-install-recommends \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/wkhtmltopdf.deb \ && ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf # 验证wkhtmltopdf安装 RUN which wkhtmltopdf && wkhtmltopdf --version # 清华pip源 RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 安装Python依赖 COPY wheels/*.whl /tmp/wheels/ ENV PIP_ROOT_USER_ACTION=ignore RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir \ /tmp/wheels/*.whl \ psutil==7.0.0 \ MarkupSafe==3.0.2 \ charset-normalizer==3.4.2 \ asgiref==3.8.1 \ Django==4.2.23 \ importlib_metadata==8.7.0 \ numpy==2.0.2 \ pandas==2.3.0 \ python-dateutil==2.9.0.post0 \ pytz==2025.2 \ six==1.17.0 \ sqlparse==0.5.3 \ typing_extensions==4.14.0 \ tzdata==2025.2 \ zipp==3.23.0 \ pypdf2==3.0.1 # 验证中文字体 RUN fc-list :lang=zh ENV PYTHONUNBUFFERED=1 CMD ["python"]
2025年06月28日
3 阅读
0 评论
0 点赞
2025-06-24
python Dockerfile构建(含中文字体支持)
基于 python:3.10.11-slim 构建带依赖的 Docker 镜像FROM python:3.10.11-slim WORKDIR /app # 安装系统依赖(使用小写包名,并确保正确换行) RUN apt-get update && apt-get install -y --no-install-recommends \ wkhtmltopdf \ fonts-liberation \ fonts-wqy-zenhei \ xfonts-75dpi \ xfonts-base \ libaio1 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 复制wheel文件 COPY wheels/*.whl /tmp/wheels/ # 设置pip不警告root用户 ENV PIP_ROOT_USER_ACTION=ignore # 安装Python依赖 RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir \ /tmp/wheels/werkzeug-3.1.3-py3-none-any.whl \ /tmp/wheels/urllib3-2.4.0-py3-none-any.whl \ /tmp/wheels/requests-2.32.3-py3-none-any.whl \ /tmp/wheels/pdfkit-1.0.0-py3-none-any.whl \ /tmp/wheels/jinja2-3.1.6-py3-none-any.whl \ /tmp/wheels/itsdangerous-2.2.0-py3-none-any.whl \ /tmp/wheels/idna-3.10-py3-none-any.whl \ /tmp/wheels/flask-3.1.1-py3-none-any.whl \ /tmp/wheels/colorama-0.4.6-py2.py3-none-any.whl \ /tmp/wheels/click-8.2.0-py3-none-any.whl \ /tmp/wheels/certifi-2025.4.26-py3-none-any.whl \ /tmp/wheels/blinker-1.9.0-py3-none-any.whl \ psutil==7.0.0 \ MarkupSafe==3.0.2 \ charset-normalizer==3.4.2 \ cx_Oracle==8.3.0 # 验证字体安装 RUN fc-list :lang=zh # 验证wkhtmltopdf RUN wkhtmltopdf --version ENV PYTHONUNBUFFERED=1 CMD ["python"]
2025年06月24日
2 阅读
0 评论
0 点赞
1
2
...
6