在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

标签:Docker

Nodejs

Docker使用NPM安装CNPM失败

背景 项目使用jenkins自动构建应用,原本构建没有没有什么问题,一天突然就发生了异常且多次重试结果并没有改变。为了更快的构建完成项目,所以就找到简单的处理方法来解决问题。 异常信息 RUN npm install -g cnpm@7.1.0 –registry=https://registry.npm.taobao.org—> Running in 47877716e592[91mnpm ERR! [0m[91mcode CERT_HAS_EXPIRED[0m[91mnpm ERR![0m[91m errno CERT_HAS_EXPIRED[0m[91mnpm ERR![0m[91m request to https://registry.npm.taobao.org/cnpm failed, reason: certifica...

2个月前 (01-22) 521℃ 0评论 0喜欢

Docker

在Docker容器下使用.net 5统计图中文乱码的问题

背景 客户新提需求,需要增加一张报表,报表需要增加统计图表。因为客户需要将数据以及统计图表一并导出到word中,所以没有使用前端统计相关的类库,比如:echarts、highcharts等库。虽然可以使用前端相关类库导出word,但是并不能满足现有需求。后台服务使用的是.net 5,统计图完成后发现中文出现乱码。如下图: 问题 出现以上乱码问题,其一可能是统计类库不支持中文导致的,也有可能是docker镜像中缺少相应的中文字体。因为在本地开发环境测试并没有问题,更新到测试环境后才发现以上乱码情况,所以应该是镜像中缺少相关中文字体而导致的。 解决 既然是缺少中文字体,那就安装字体就行了。在Windows系统中复制需要的字体到新建名称为chinese文件夹下,将此文件夹放到与dockerfile同一目录下即可。dockerfile文件中新增内容如...

6个月前 (09-24) 539℃ 0评论 1喜欢

Docker

Docker构建VUE项目NPM构建134异常

背景 一个前端的VUE项目,需要打一个Docker的镜像离线包。通过命令行构建镜像,通过等待比较长的时间后,NPM构建抛出异常。 异常内容 以下是关于这次异常的详细信息: => ERROR [build-stage 10/10] RUN npm run build 1222.9s ------ > [build-stage 10/10] RUN npm run build: #18 7.649 #18 7.649 > vue-antd-admin@0.7.4 build /app #18 7.649 > vue-cli-service build #18 7.649 #18 24.59 #18 2...

1年前 (2023-02-23) 710℃ 0评论 0喜欢

.net core

.net core在Linux系统报Gdip异常的问题

背景 .net core 应用中使用了Excel文件导出,发现Excel导出失败,导出的操作出现了异常。看了一下是Gdip的这个异常。这个异曾经见到过,记得也很快解决了,不晓得为什么又会出现呢?仔细看了一下,详细错误还是有点差别。经过确认上一次安装的libc6-dev、libgdiplus是存在的,并没有丢失或者损坏。 根据异常信息,基本可以确定是引用System.Drawing.Common类库引起的问题,经过排查发现引用的Excel组件Magicodes.IE.Excel.Abp包中有使用System.Drawing.Common。前几天还好好的,现在为何System.Drawing.Common不支持非Windows平台呢?只是确定引用的System.Drawing.Common库的版本是6.0,其他的就没有太多线索。 最后又看一遍异常信息,根据异常提示打开所提示...

2年前 (2022-04-08) 742℃ 0评论 27喜欢

Docker

基于dotnet官方的aspnet5的镜像构建安装libgdiplus基础镜像

背景 在.net 5应用中,使用了Excel文件处理,在Docker容器中运行就会出现关于libgdiplus的异常。虽然在Dockerfile中可以使用以下内容解决异常,但是这个速度太慢了。每次构建慢的让人怀疑人生,最重要的是还可能失败。 RUN apt-get update && apt-get install -y libgdiplus libc6-dev && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll 为了提高构建速度,所以使用官方的基础镜像再二次构建一个基础镜像,默认安装 libgdiplus ,这样每次构建速度就会提升好多好多。默认安装了libgdiplus等库,以便支持Excel导入导出 构建基础镜像的Dockerfile Dockerfile ...

2年前 (2021-12-18) 881℃ 0评论 63喜欢

Docker

docker查看日志

在工作当中有时候需要查看指定容器的日志记录,当日志比较多的时可以通过参数来进一步筛选。 命令格式 Usage: docker logs [OPTIONS] CONTAINER Fetch the logs of a container Options: --details 显示更多的信息 -f, --follow 跟踪实时日志 --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail string 从日志末尾显示多少行日志, 默认是all -t, --timestamps 显示时间戳 --until string 显示自某个timestamp之前的日志,或相对时间,如42m(...

3年前 (2021-05-19) 617℃ 0评论 4喜欢

Docker

Docker容器在Centos使用脚本查看日志与清理

背景 jenkins突然无法自动构建镜像,经过确认并非是无法构建,而是磁盘空间满了。 关于手动清理Docker日志的方法,自己曾经也处理过,但是容器多起来就相当麻烦。 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件. 查看 #!/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 清理 #!/bin/sh echo "======== start clean docker ...

3年前 (2021-04-10) 683℃ 0评论 26喜欢

Docker

删除Docker中为none的Image/镜像

docker build 或是 pull 命令就会产生临时镜像。 //删除无效的临时镜像 docker rmi $(docker images -f "dangling=true" -q) 其他方法 停止容器 docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') 删除容器 docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') 删除镜像 docker rmi $(docker images | grep "none" | awk '{print $3}') 转载请注明:清风亦平凡 » 删除Docker中为none的Image/镜像...

3年前 (2021-04-08) 434℃ 0评论 3喜欢

Docker

推送Docker镜像被拒绝问题处理

构建了自己常用的基础镜像,就打算推送到Docker Hub上。首先使用docker login 进行登录,然后就使用docker push 执行镜像推送,最后返回错误信息如下: denied: requested access to the resource is denied 如下图: 在网上找了下相关信息,大部分都是说认证、登录等信息,按照相关信息试一试也没有什么用。最后发现是镜像名称不符合Docker规范,从而导致了镜像推送被拒绝。 推送的镜像命名规范如下: 登录名/镜像名称:标签 例如: skyfinder/microsoft-dotnet-2.1-aspnetcore-runtime-libgdiplus:latest 如果现有的镜像名称不符合规范,可以使用tag打一个标签,如下: docker tag skyfin...

4年前 (2020-09-03) 840℃ 0评论 0喜欢

.net core

docker环境下使用EPPlus 导出Excel报Gdip异常

网站内容在Windows环境下并没有出现任何问题,但是在Linux 系统Centos的Docker环境下就出现了相关错误。这让人一脸蒙逼啊, 未能加载libdl库。使用了EPPlus处理Excel,其内部设置了字体大小以及颜色之类的东西,使用了‘ System.Drawing.Font ’的相关内容。由于Linux系统中Docker环境下缺少相关库,故而出现异常。具体错误请看以下内容。 报错内容: fail: System.Exception[-2146233036] The type initializer for ‘Gdip’ threw an exception. System.TypeInitializationException: The type initializer for ‘Gdip’ threw an exception. —> System...

4年前 (2019-12-31) 977℃ 0评论 3喜欢

Docker

在Docker中获取Windows MobyLinuxVM 的Shell

使用Docker for Windows时,我们实际上正在使用在特殊Hyper-V VM中运行的小型(自定义)LinuxKit Linux。使用了相当多的方式使在Windows中使用Docker更加便利,似乎容易让人忘记它还在在Linux内核上运行。 请注意,这是关于默认的“Linux容器”模式。它不适用于“Windows容器”模式。 这只是一个可以访问Linux VM的容器,因此您可以执行诸如ps aux查看在VM中运行的守护程序之类的操作。这不是一个完整的操作系统。 首先需要创建一个具有完全root访问权限的容器,然后从那里访问文件系统。 获取可访问Docker守护程序的容器 运行具有完全root访问权限的容器 切换到主机文件系统 构建镜像 使用Docker构建一个镜像,Dockerfile如下所示: FROM ubuntu RUN...

5年前 (2019-08-23) 969℃ 0评论 2喜欢

Docker

Docker容器日志清理

Docker会将容器应用标准化输出的内容做为日志进行记录,并永久保存在磁盘上。久而久之容器日志占用磁盘空间就越来越大。使用以下命令可以查看指定容器日志,如下: docker logs -f containerId 日志位置 对应的Docker容器的日志位置一般如下: /var/lib/docker/containers/containerid/containerid-json.log containerid是指应用容器的id 通过以下命令确定要清理日志的容器id,如下: #查找正在运行的容器列表docker ps#根据容器列表的CONTAINER ID 来查找完整的容器iddocker inspect containerid 查找容器id 日志清理 cat /dev/null >/var/lib/docker/cont...

5年前 (2019-01-07) 705℃ 0评论 0喜欢

Docker

Docker 入门教程

2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。 一、环境配置的难题 软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有 Python 引擎,还必须有各种依赖,可能还要配置环境变量。 如果某些老旧的模块与当前环境不兼容,那就麻烦了。开发者常常会说:”它在我的机器可以跑了”(It works on my machine),言下之意就是,其他机器很可能跑不了...

5年前 (2018-12-22) 508℃ 0评论 0喜欢

Docker

CentOS 安装 Docker 应用容器引擎

Docker支持以下的CentOS版本: CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本 CentOS 安装Docker的必要条件 目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。 使用 yum 安装(CentOS 7) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本 uname -r 安装 Docker ...

5年前 (2018-12-20) 638℃ 0评论 5喜欢

Docker

解决CentOS系统下docker info 出现的警告

CentOS系统下执行docker info后出现两条警告, 如下: WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled 如下图: 解决办法,编辑:/etc/sysctl.conf  并添加如下内容: net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1 编辑保存之后,执行如下内容: sysctl -p 完成之后,再次使用docker info进行查看就发现已经没有这两条警告了,这样此问题就解决了!这里做个记录吧!!! 转载请注明:清风亦平凡 » 解决CentOS系统下docker inf...

5年前 (2018-12-18) 689℃ 0评论 4喜欢

Docker

docker容器与Linux主机环境获取时间不一致

最近使用.net core写了一个简单的网站存活监测小程序,每十分钟进行一次检测,如果异常或者网站无法访问就通过腾讯云短信服务进行通知。在Windows 和 Linux 系统中运行均正常,但放到Linux系统下Docker环境中,获取到的时间就慢8个小时,默认似乎不是东八区了。记得之前也遇到过这个问题,使用了一个.net Core类库(NodaTime)解决的,详情请见:.net Core 中DateTime在Linux Docker中与Windows时间不一致 。但是这次不想用多余的类库来解决,所以通过同步时间来解决。 共享主机的localtime 创建容器的时候指定启动参数,挂载localtime文件到容器内 ,保证两者所采用的时区是一致的。 docker run --name qq -v /etc/localtime:/e...

5年前 (2018-12-14) 2033℃ 2评论 13喜欢

Docker

Docker for Windows 更改磁盘镜像位置

相关问题 在windows10下安装docker for windows,随着用docker pull image文件后,虚拟机的镜像越来越大,但C盘的容量越来越小了,于是就想修改下相关路径到其他盘符。 原因分析 windows上安装的docker其实本质上还是借助与windows平台的hyper-v技术来创建一个linux虚拟机(默认使用的镜像是MobyLinuxVM),你执行的所有命令其实都是在这个虚拟机里执行的,所以所有pull到本地的image都会在虚拟机的Virtual hard disks目录的文件中,这个文件就是虚拟硬盘文件。如果要想改变路径只需要在hyper-v管理器里设置就可以了。默认的安装路径是C:\Users\Public\Documents\Hyper-V\Virtual hard disks下。 解决方案 一、当你的刚刚安装docker for windows后或...

5年前 (2018-12-08) 1693℃ 0评论 2喜欢

Docker

Docker for Windows 设置的Shared Drives 设置不生效

Docker中的settings里的Shared Drives 选择对应盘符后,点击Apply后无法生效。试了两遍都不行,这是有问题的 。 解决办法 win+R ,键入gpedit.msc,出现如下界面,找到高亮处的网络访问:本地账户的共享和安全模型,选择如图中的 经典 选项       转载请注明:清风亦平凡 » Docker for Windows 设置的Shared Drives 设置不生效 ...

5年前 (2018-12-07) 876℃ 0评论 3喜欢

Docker

如何浏览/启动/停止/删除 docker 容器

什么是 Docker 容器 正在运行的镜像(Image)实例称为容器。 Docker使用Docker镜像作为只读模板来进行启动。 如果您启动镜像,则表示您拥有此镜像的运行容器。 当然,您可以拥有许多相同镜像的运行容器。 我们使用命令“docker run”来运行docker容器。 查看Docker容器列表 要查看容器,请运行以下命令: docker ps [ OPTIONS ] 要列出正在运行和已停止的容器,请使用-a选项,如下所示: docker ps -a CONTAINER ID –容器的唯一ID IMAGE   –已启动容器的基本映像 COMMAND –启动容器时使用的命令 CREATED  –创建容器的时间 STATUS  –容器的当前状态(Up或Exited) PORTS –端口号(如果有),转发到doc...

5年前 (2018-11-16) 1711℃ 0评论 2喜欢

Docker

Linux系统安装docker-compose

一、下载docker-compose文件  curl -L https://github.com/docker/compose/releases/download/1.23.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 二、添加可执行权限  chmod +x /usr/local/bin/docker-compose 三、测试安装结果,查看版本。 docker-compose –version 转载请注明:清风亦平凡 » Linux系统安装docker-compose...

5年前 (2018-10-19) 679℃ 0评论 0喜欢

Docker

docker启动,重启,关闭命令

docker启动命令,docker重启命令,docker关闭命令 启动      systemctl start docker 守护进程重启  sudo systemctl daemon-reload 查看docker运行状态 sudo service docker status   重启docker服务  systemctl restart docker sudo service docker restart 关闭docker service docker stop systemctl stop docker       转载请注明:清风亦平凡 » docker启动,重启,关闭命令 ...

5年前 (2018-10-18) 730℃ 0评论 0喜欢

Docker

使用Docker-compose构建容器

Docker Compose 是一个用来定义和运行复杂应用的 Docker 工具,以 yaml 格式的数据来保存容器配置,使用更简单的命令完成对容器的管理。此外 docker-compose.yml 还起到一个说明文档的作用, 一切配置在里面显得一目了然,就不用另外单独写部署文档了。 1. 安装 Docker Compose # curl方式安装(推荐) # 如果权限不够,先执行 sudo -i 切换到root帐号 curl -L https://get.daocloud.io/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose chmod +x /tmp/docker-compose sudo mv /tmp/docker-c...

6年前 (2018-10-17) 860℃ 0评论 0喜欢

Docker

如何使用Dockerfile来构建镜像

使用Dockerfile来构建镜像。 用法说明 选项 用法 说明 FROM FROM <image>:<tag> 指定基础镜像 MAINTAINER MAINTAINER <name> <email> 创建者信息 RUN RUN <command> 执行容器操作,主要用来安装软件 CMD CMD [“executable”,”param1″,”param2″] CMD command param1 param2 CMD [“param1″,”param2”] 镜像启动时的操作,会被容器的启动命令覆盖。 指定多次则最后一条生效 ENTRYPOINT 同 CMD,与CMD差别主要 在...

6年前 (2018-10-16) 611℃ 0评论 0喜欢

Docker

Docker 常用指令详解

docker 分为客户端和服务端两部分, docker 为客户端调用的命令, dockerd 为服务端调用的命令, 本文着重介绍客户端的用法。 主要用法:docker [ docker命令选项 ] [ 子命令 ] [ 子命令选项 ] docker [ 子命令 ] –help 可查看每个子命令的详细用法。 docker命令选项列表 选项 说明 其他 –config [string] 客户端本地配置文件路径 默认为 ~/.docker -D, –debug 启用调试模式 –help 打印用法 -H, –host list 通过socket访问指定的docker守护进程(服务端) unix:// , fd:// , tcp:// -l, –log-level [string] 设置日志级...

6年前 (2018-10-15) 816℃ 0评论 0喜欢