错误提示:

Get https://res.ddkt365.com/ddktRes/imageRes/wx_headimg/0f1d9e55913c22bcaf7cca9b38048d29.jpeg: x509: certificate signed by unknown authority -> http.Get
panic: runtime error: invalid memory address or nil pointer dereference

是 CA 证书的问题,解决方案就是 拷贝 alpine 镜像中的证书

附上 dockerfile 代码

# 基础镜像是 docker 仓库的 busybox
FROM alpine as certs
RUN apk update && apk add ca-certificates
# 从别的镜像中 copy 证书
FROM busybox
COPY --from=certs /etc/ssl/certs /etc/ssl/certs
# 作者签名
LABEL author="szliugx@gmail.com"
# 工作目录
WORKDIR /root # 添加文件
ADD ./bin/ddkt-poster-go ./ddkt-poster-go
ADD ./bin/conf.toml ./conf.toml
ADD ./fonts ./fonts
# 暴露出端口号
#EXPOSE 8080
# 运行容器执行时的口令
ENTRYPOINT ["./ddkt-poster-go", "-conf", "conf.toml"]

  

liugx@MacBook-Pro  ~/work/personal/golang/ddkt-poster   liugx_code_youhua ●  docker build -t ddkt-poster-go .
Sending build context to Docker daemon .08MB
Step / : FROM alpine as certs
latest: Pulling from library/alpine
aad63a933944: Pull complete
Digest: sha256:b276d875eeed9c7d3f1cfa7edb06b22ed22b14219a7d67c52c56612330348239
Status: Downloaded newer image for alpine:latest
---> a187dde48cd2
Step / : RUN apk update && apk add ca-certificates
---> Running in 1a290f0b3176
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
v3.11.5--gfa48ebadee [http://dl-cdn.alpinelinux.org/alpine/v3.11/main]
v3.11.5--ge59ae1cbad [http://dl-cdn.alpinelinux.org/alpine/v3.11/community]
OK: distinct packages available
(/) Installing ca-certificates (-r1)
Executing busybox-1.31.-r9.trigger
Executing ca-certificates--r1.trigger
OK: MiB in packages
Removing intermediate container 1a290f0b3176
---> 409d89df1e27
Step / : FROM busybox
---> 83aa35aa1c79
Step / : COPY --from=certs /etc/ssl/certs /etc/ssl/certs
---> f3d288b6f60c
Step / : LABEL author="szliugx@gmail.com"
---> Running in 81fa23a198e9
Removing intermediate container 81fa23a198e9
---> 474ca6db3d19
Step / : WORKDIR /root
---> Running in 670487d3f2a5
Removing intermediate container 670487d3f2a5
---> ebbc723821b0
Step / : ADD ./bin/ddkt-poster-go ./ddkt-poster-go
---> 89d7a0e23eca
Step / : ADD ./bin/conf.toml ./conf.toml
---> 4ba50a3e49f8
Step / : ADD ./fonts ./fonts
---> 672cb62f608a
Step / : ENTRYPOINT ["./ddkt-poster-go", "-conf", "conf.toml"]
---> Running in 86afb270dab0
Removing intermediate container 86afb270dab0
---> da2ec7a93580
Successfully built da2ec7a93580
Successfully tagged ddkt-poster-go:latest
liugx@MacBook-Pro  ~/work/personal/golang/ddkt-poster   liugx_code_youhua ● 

执行过程

引用链接:

https://stackoverflow.com/questions/45388934/how-do-i-make-an-https-call-in-a-busybox-docker-container-running-go

docker 容器中部署 Go 服务时,请求 https 文件时抛错的更多相关文章

  1. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  2. 在CentOS下的docker容器中部署spring boot应用的两种方式

    我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...

  3. network_node:host解决Docker容器化部署微服务出现的Dobbo通信问题

    在Docker中,有时候出现 ports:   - 20880:20880 Dobbo通信出现问题. 此时应该改成 network_node:host 注释 ports!

  4. Linux下将.Asp Core 部署到 Docker容器中

    我们来部署一个简单的例子: 将一个简单的.Aps Core项目部署到Docker容器中并被外网访问 说明: 下面的步骤都是建立在宿主服务器系统已经安装配置过Docker容器,安装Docker相对比较简 ...

  5. Docker & k8s 系列三:在k8s中部署单个服务实例

    本章将会讲解: pod的概念,以及如何向k8s中部署一个单体应用实例. 在上面的篇幅中,我们了解了docker,并制作.运行了docker镜像,然后将镜像发布至中央仓库了.然后又搭建了本机的k8s环境 ...

  6. 一个docker容器中运行多个服务还是弄一堆docker容器运行?

    不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经 ...

  7. Docker 案例: 在容器中部署静态网站

    ----------------知识点------------ 容器的端口映射: docker  run  [-P] [-p] -P,–publish-all=true | false,大写的P表示为 ...

  8. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  9. Docker 在容器中部署静态网站

    Docker 在容器中部署静态网站 在容器中部署静态网站 设置容器的端口映射 run -P``--publish-all=true|false:容器暴露的所有端口进行映射 -p``--publish= ...

随机推荐

  1. java 用集合完成随机点名器和库存管理案例

    一 随机点名器 1.案例需求 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 我们来完成随机点名器,它具备以下3个内容: 存储所有同学姓名 总览全班同学姓名 随机点名其中一人, ...

  2. Django中的异常

    DJango除了会抛出Python的标准异常外还有一些框架自带的异常. 1. Django核心异常 在django.core.exceptions中:| ObjectDoesNotExist | Fi ...

  3. C++中inet_pton、inet_ntop函数

    - 头文件windows下:#include <WS2tcpip.h>linux下:#include <sys/socket.h>#include <netinet/in ...

  4. 基于 Docker 搭建 Consul 多数据中心集群

    本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...

  5. 谈谈 Qt4 中文乱码的解决

    本文只描述Qt4的解决方法,Qt5没有尝试过,不做讨论.网上关于这个话题一搜一大堆,基本无外乎字符集编码的理论,看不明白.直接上代码吧! #include "widget.h" # ...

  6. [Hadoop] mapper数量的控制

    确定map任务数时依次优先参考如下几个原则: 1)      每个map任务使用的内存不超过800M,尽量在500M以下 比如处理256MB数据需要的时间为10分钟,内存为800MB,此时如果处理12 ...

  7. String、StringBuilder、StringBuffer三者的区别

    StringBuffer.StringBuilder和String都可以用来代表字符串.String类是不可变类,任何对String的改变都会引发新的String对象的生成:StringBuffer. ...

  8. centos7 重装ssh服务

    重装之前先要卸载之前安装的无法 通过rpm命令查看openssh的安装情况 rpm -qa openssh* 通过yum remove命令卸载 yum remove openssh* 重装: yum ...

  9. Asp.net Core 3.1 引用ORM工具包 yrjw.ORM.Chimp(EF + dapper + Autofac)使用教程

    yrjw.ORM.Chimp 介绍 It is not the encapsulation of ORM,a based on EF + dapper + Autofac, is repository ...

  10. 第三篇Scrum冲刺博客--Interesting-Corps

    第三篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 主页页面跳转社区功能及社区设计及布局实现 搜索页面跳转.设计及布局实现 叶学涛 编写个人页面 ...