Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在正在运行的Busybox容器中进行HTTPS调用?

如何在正在运行的Busybox容器中进行HTTPS调用?
EN

Stack Overflow用户
提问于 2017-07-29 03:49:36
回答 2查看 11.7K关注 0票数 13

我试图在运行Go二进制的Docker容器中进行HTTPS调用。这给了我以下错误:

x509:加载系统根失败,没有提供根

查过这些之后,问题似乎是BusyBox坞映像没有根CA证书。从StackOverflow的其他答案来看,最好的方法似乎是将CA根目录挂载到/etc/ssl/certs容器目录中。

要在本地测试,挂载主机的根CA证书是有意义的。在生产中运行时(我使用),我不确定如何指定根CA证书。我需要自己创造一个吗?或者,在GKE中是否有我可以重用的现有证书?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-29 22:57:19

有多个选项可供选择

来自主机的股票证书

正如您所指出的,您可以从主机上共享/etc/ssl/certs

使用带有证书的busybox

您可以使用像odise/busybox-curl这样的映像,它已经安装了证书。

对此使用停靠-组合和共享卷。

这是一种更好的方法,因为它不需要依赖主机。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '2'

services:
  busybox:
    image: busybox
    command: sleep 1000
    volumes:
      - certificates:/etc/ssl/certs:ro
  certifcate_installer:
    image: alpine
    command: sh -c 'apk update && apk add ca-certificates'
    volumes:
      - certificates:/etc/ssl/certs
volumes:
  certificates:

使用多级Dockerfile构建它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM alpine as certs
RUN apk update && apk add ca-certificates

FROM busybox
COPY --from=certs /etc/ssl/certs /etc/ssl/certs

然后像普通文件一样构建它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vagrant@vagrant:~/certs$ docker build -t busyboxcerts .
Sending build context to Docker daemon  49.66kB
Step 1/4 : FROM alpine as certs
 ---> 4a415e366388
Step 2/4 : RUN apk update && apk add ca-certificates
 ---> Running in 0059f93b5fc5
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz
v3.5.2-131-g833fa41a4d [http://dl-cdn.alpinelinux.org/alpine/v3.5/main]
v3.5.2-125-g9cb91a548a [http://dl-cdn.alpinelinux.org/alpine/v3.5/community]
OK: 7966 distinct packages available
(1/1) Installing ca-certificates (20161130-r1)
Executing busybox-1.25.1-r0.trigger
Executing ca-certificates-20161130-r1.trigger
OK: 5 MiB in 12 packages
 ---> 1a84422237e4
Removing intermediate container 0059f93b5fc5
Step 3/4 : FROM busybox
 ---> efe10ee6727f
Step 4/4 : COPY --from=certs /etc/ssl/certs /etc/ssl/certs
 ---> af9936f55fc4
Removing intermediate container 1af54c34a5b5
Successfully built af9936f55fc4
Successfully tagged busyboxcerts:latest
vagrant@vagrant:~/certs$ docker run busyboxcerts:latest ls /etc/ssl/certs
02265526.0
024dc131.0
03179a64.0

有关多级构建的详细信息,请参阅https://docs.docker.com/engine/userguide/eng-image/multistage-build/#before-multi-stage-builds

所有的方法都有各自的优缺点。我个人更喜欢最后一种或第二种方法。

票数 23
EN

Stack Overflow用户

发布于 2017-07-29 04:21:21

使用apk add ca-certificates && update-ca-certificates在容器中安装CA证书,如描述的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45388934

复制
相关文章
复制文件到正在运行的Docker容器中
通过之前的章节,你已经可以灵活控制容器了,那么在接下来的几篇文章中,我们来练习通过修改容器来创建一个个性化的镜像,然后发布到Dockerhub、阿里云、Azure云的容器仓库中。
角落的白板报
2020/05/26
4.2K0
复制文件到正在运行的Docker容器中
如何在Docker容器中运行Docker [3种方法]
/var/run/docker.sock是默认的Unix套接字。套接字用于在同一主机上的进程之间进行通信。Docker守护程序默认情况下侦听docker.sock。如果您在运行Docker守护程序的主机上,则可以使用/ var/run/docker.sock管理容器。
DevOps云学堂
2020/09/14
27.2K0
如何在Docker容器中运行Docker [3种方法]
如何在Linux中查看所有正在运行的进程
你可以使用ps命令。它能显示当前运行中进程的相关信息,包括进程的PID。Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。ps命令能提供一份当前进程的快照。如果你想状态可以自动刷新,可以使用top命令。
用户4988085
2021/07/21
62K0
Docker - 如何使用SSH连接到正在运行中的容器
本文主要介绍如何使用SSH将Docker容器连接到其他Docker容器。首先,介绍如何安装SSH并启动SSH服务。然后,介绍如何创建和配置Dockerfile和Docker Compose文件,以使用SSH连接到其他容器。最后,提供了一些示例和注意事项,以帮助读者更好地使用SSH连接Docker容器。
用户1150262
2018/01/08
5.4K0
使用Longhorn优雅地恢复正在运行中的容器应用
鞠宏超,Rancher研发工程师。4年云计算领域经验,2018年加入Rancher Labs,先后参与了Longhorn产品研发,Rancher2.x产品研发,目前主要致力于Rancher企业版产品的设计与研发工作。
CNCF
2020/09/22
2K0
使用Longhorn优雅地恢复正在运行中的容器应用
如何在Ubuntu 14.04上的Docker容器中运行Nginx
通过容纳Nginx,我们减少了系统管理员的开销。我们将不再需要通过包管理器管理Nginx或从源代码构建它。Docker容器允许我们在发布新版本的Nginx时简单地替换整个容器。我们只需要维护Nginx配置文件和我们的内容。
朝朝
2018/10/19
2.8K0
Docker - 如何SSH到正在运行的容器
本文介绍如何通过SSH将一个Docker容器连接到另一个Docker容器。首先,在源Docker容器上安装SSH。然后,使用生成的SSH密钥对目标Docker容器进行身份验证。最后,使用SCP将文件从源容器发送到目标容器。
Hero
2018/01/04
3.4K0
进入正在运行的 docker 容器(docker container)
在使用 docker 容器的时候,我们总会想看看容器内部长什么样子:我们使用 docker exec 命令可以满足我们的期望:
西湖醋鱼
2020/12/30
3.5K0
如何在 Linux 中列出 Systemd 下所有正在运行的服务
Linux系统提供多种系统服务(如进程管理、登录、syslog、cron等)和网络服务(如远程登录、电子邮件、打印机、虚拟主机、数据存储、文件传输、域名解析等) (使用 DNS)、动态 IP 地址分配(使用 DHCP)等等)。
数据科学工厂
2023/08/10
3130
如何在 Linux 中列出 Systemd 下所有正在运行的服务
Docker修改正在运行的容器的时区
笔者在对网站日志(nginx)做分析时,发现时间不在东八区,也就服务器时间和当前时间对不上,而该Web网站是放在Nginx容器中,本文是修改已经运行了的容器时区做的一个记录。
肓己
2021/08/12
1.6K0
Docker - 如何SSH连接到正在运行的容器
本文介绍了如何通过SSH将一个Docker容器连接到另一个Docker容器。首先,我们介绍了如何安装和配置SSH。然后,我们提供了两种方法,将现有容器连接到其他容器。第一种方法是使用Docker Compose,第二种方法是使用启动脚本。这些方法允许您通过SSH将一个Docker容器连接到另一个Docker容器,从而在它们之间传输数据和执行命令。
勤奋的小北鼻
2018/01/03
2.6K0
如何通过SSH进入正在运行的容器【Containers】
容器已经改变了我们对虚拟化的思考方式。您可能还记得从虚拟化BIOS,操作系统和内核到每个虚拟化网络接口控制器(NIC)的虚拟机已满堆栈的日子(或者您可能还活着)。您就像自己的工作站一样,登录到虚拟机。这是一个非常直接和简单的类比。
王欣壳
2019/11/12
3.4K0
如何通过SSH进入正在运行的容器【Containers】
如何在应用程序中调用CMD并返回运行结果
要求做一个图形界面的应用程序,输入命令行的命令,在后台调用CMD程序执行该命令但不显示DOS命令行窗口,而且能实时显示运行的结果。哪位知道怎么处理?谢啦
用户3519280
2023/07/06
2870
docker停止运行中的容器(docker关闭容器)
centos 启动一个容器添加了-d 参数,但是docker ps 或者docker ps -a查看却已经退出了
全栈程序员站长
2022/07/25
8.7K0
docker停止运行中的容器(docker关闭容器)
将正在运行的容器保存为本地 Docker 镜像
上一章我们是通过复制宿主机器的文件到容器中,更改了容器,那么除了复制文件进容器以外,还有另一种方法,便是直接与容器进行交互,在容器内执行命令。这种技术也建议少用,道理同上一章一样。
角落的白板报
2020/06/02
4.8K0
将正在运行的容器保存为本地 Docker 镜像
查看一个正在运行的Docker容器的启动命令
一日一技是一个每天更新的栏目,力图做到让你每天用2分钟的时间掌握一个开发技巧。 ---- 在Docker查看正在运行的容器是通过什么命令启动的: docker ps -a --no-trunc
青南
2018/10/18
32.8K1
用Eclipse连接正在运行的Tomcat进行Debug的步骤
在弹出的窗口中左侧双击“Remote Java Application”,然后再右侧显示的界面中选择设置“Project”、“Host”和“Port”(8888),再点击“Apply”按钮,最后点击“Debug”就可以进行调试了。
LeoXu
2018/08/15
1.3K0
用Eclipse连接正在运行的Tomcat进行Debug的步骤
如何在 Linux 中查看正在运行的进程?这三个命令轻松实现!
Linux 是一种自由和开放源代码的操作系统,它的使用在全球范围内非常广泛。在 Linux 中,进程是操作系统中最重要的组成部分之一,它代表了正在运行的程序。了解如何查看正在运行的进程是非常重要的,因为它可以帮助您了解系统的运行状态并对其进行管理。本文将介绍如何在 Linux 中查看正在运行的进程,并提供一些实用的例子。
网络技术联盟站
2023/05/03
58.2K0
如何在 Linux 中查看正在运行的进程?这三个命令轻松实现!
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
在默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器。不过,我们可以配置该守护进程,以便在该守护进程不可用时容器仍在运行。这种功能称为实时恢复。实时还原选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。
非著名运维
2023/02/20
4.1K0
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
点击加载更多

相似问题

使用Busybox运行Elasticsearch docker容器

119

Busybox -如何删除busybox容器的循环创建

10

运行多个podman容器,如

10

如何在Jenkinsfile中停止正在运行的容器?

22

如何在码头高山容器/ busybox中映射gdate到date?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文