标签: docker

Docker build --ssh 不转发 id_rsa

我正在尝试构建用于自动部署的 docker 映像,因此我想从私有位存储桶存储库 (git) 克隆应用程序代码。

但是当我尝试构建图像时,我总是从 git clone 收到身份验证错误。

不确定是否相关,但我使用的主机正在运行 Ubuntu 18.04 和 Docker 18.09.7,版本 2d0083d

这是我的 Dockerfile:

# syntax=docker/dockerfile:experimental
FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 as devel_stage
ENV DEBIAN_FRONTEND noninteractive

# install system requirements
RUN apt-get update --fix-missing
RUN apt-get install -y --no-install-recommends build-essential
RUN apt-get install -y --no-install-recommends git
RUN apt-get install -y --no-install-recommends curl
RUN apt-get install -y --no-install-recommends ca-certificates
RUN apt-get install -y --no-install-recommends libjpeg-dev
RUN apt-get install -y --no-install-recommends libpng-dev
RUN apt-get install -y --no-install-recommends python3-dev
RUN apt-get install …
Run Code Online (Sandbox Code Playgroud)

ssh git docker

7
推荐指数
1
解决办法
3782
查看次数

Docker 绑定挂载在 Linux 上是否会造成性能损失?

我知道,在 Windows 或 macOS 上使用 Docker Desktop 时,在容器中使用绑定挂载会带来性能损失,并且首选卷来提高性能。但是,我找不到任何有关在 Linux 上运行 Docker 时受到任何处罚的信息。

在 Linux 上的 Docker 上使用绑定挂载时是否会产生性能损失,或者由于 Docker 在 Linux 上本机运行,因此没有性能损失?

linux performance docker

7
推荐指数
1
解决办法
5432
查看次数

为什么要从其存储库安装 Docker,而不是从默认存储库安装?

在在 Ubuntu 上安装 Docker 引擎的Docker 文档中,有一个从存储库安装的选项(以及下载 deb 文件并安装它的选项,以及使用也使用存储库的便捷脚本)。但我发现如果我只是跑

sudo apt-get install docker.io
Run Code Online (Sandbox Code Playgroud)

在我的机器上,它将完美下载并运行 Docker。

我的问题是:从自己的存储库安装 docker 或从已配置的默认存储库安装 docker 有区别吗?

另外,在查看文档时,您应该安装 3 个软件包docker-ce docker-ce-cli,而containerd.io从默认存储库安装时,您只需安装docker.io.

这些不同的软件包是什么以及它们包含什么?

dpkg apt docker

7
推荐指数
2
解决办法
1857
查看次数

启用从 docker 容器通过 ubuntu 防火墙访问主机服务

我有一个服务在端口 的主机上运行8545。我有几个需要访问主机上的此服务的 docker 容器。主机运行的是ubuntu。我已经配置成功了

extra_hosts:
- "host.docker.internal:host-gateway"
Run Code Online (Sandbox Code Playgroud)

在 docker-compose 文件中,我用它来启动我的 docker 容器。但是,我发现容器无法访问host.docker.internal:8545,除非我使用以下命令打开主机上的该端口

ufw allow 8545
Run Code Online (Sandbox Code Playgroud)

然而,这会向任何人开放该端口,这是不希望的。

如何向主机上运行的 docker 容器开放此端口?

编辑:我已经看到该docker0接口的 IP 为172.17.0.1. 我尝试运行sudo ufw allow from 172.17.0.1,但这并没有使我的容器能够访问8545主机上的端口。

root@localhost:~/code/metis/ops# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Anywhere                   ALLOW       172.17.0.1
22/tcp (v6)                ALLOW       Anywhere (v6)

root@localhost:~/code/metis/ops# docker exec -it ops_l2geth-mainnet_1 /bin/sh
/ # geth attach http://host.docker.internal:8545
Fatal: Failed to start the JavaScript …
Run Code Online (Sandbox Code Playgroud)

firewall ufw ubuntu docker

7
推荐指数
1
解决办法
6800
查看次数

无法在没有连接的情况下运行 docker

每当我尝试在没有互联网连接的情况下运行 docker 时,我都会收到这样的奇怪消息

docker ps
2015/05/22 23:31:45 Get http:///var/run/docker.sock/v1.12/containers/json: dial unix /var/run/docker.sock: no such file or directory
Run Code Online (Sandbox Code Playgroud)

我连接到网络后,一切正常。

我不知道这两件事是如何联系/相关的。

networking docker

6
推荐指数
1
解决办法
2535
查看次数

“docker-machine”停留在“Creating SSH key”

我正在使用 macOS Sierra 10.12,我正在尝试创建新的 docker-machine,但我遇到了以下问题:

mbp:~ alexus$ docker-machine create --driver virtualbox default
Running pre-create checks...
Creating machine...
(default) Copying /Users/alexus/.docker/machine/cache/boot2docker.iso to /Users/alexus/.docker/machine/machines/default/boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我正在使用最新的 Docker Toolbox 和最新的 VirtualBox。

ssh virtualbox docker

6
推荐指数
1
解决办法
1949
查看次数

FTP 客户端无法在 Docker 容器内工作

我试图让我的应用程序在 Docker 中正常运行,但遇到了问题。

该应用程序以 PASV 模式连接到远程 FTP 服务器,并 PUT 文件。非常简单,无需 docker 即可正常工作。FTP 服务器和客户端都不在任何 NAT 之后;但是客户端变成了 NAT,因为我使用的是 Docker 桥接网络。(使用默认网桥配置http://pastie.org/10954592

如果我在运行客户端应用程序时查看 FTP 服务器上的 tshark,它会交换大量数据包,因此它正在“连接”到服务器,但应用程序没有收到任何回复。这让我假设当 FTP 服务器尝试在该经验端口上响应时,它不会从主机操作系统路由回 Docker 容器。

所以,希望总结一下,有没有什么好的方法可以将这些 pasv 端口正确转发到 docker 网桥?约束:我无法控制生产中的 FTP 服务器,所以我不能简单地硬编码 iptables 的 pasv 端口列表。

感谢您的任何想法!

networking ftp nat iptables docker

6
推荐指数
1
解决办法
4501
查看次数

在 Windows 7 中运行 Docker Toolbox 时出现“只读文件系统”错误

尝试在 Docker 工具箱中启动 Hello World 应用程序。

操作系统:Windows 7 Professional SP1

这里安装,安装过程中没有错误。

运行“Docker Quickstart Terminal”,然后输入

$ docker run hello-world
Run Code Online (Sandbox Code Playgroud)

我得到

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pulling fs layer
E:\Sanjay\Tensor\Docker Toolbox\docker.exe: open /mnt/sda1/var/lib/docker/tmp/Ge
tImageBlob474134307: read-only file system.
See 'E:\Sanjay\Tensor\Docker Toolbox\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)

任何想法如何进行?


不确定这是否有帮助:

$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.3
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true …
Run Code Online (Sandbox Code Playgroud)

windows-7 docker

6
推荐指数
1
解决办法
6895
查看次数

在内部公开 Docker 端口

我想运行一个 Docker 容器,它只在所述主机上的 docker 实例中内部公开它的端口。这意味着我不希望它公开。

如何从命令行执行此操作?下面的代码公开打开它。

docker run -p 27017:27017 --name mongo mongo
Run Code Online (Sandbox Code Playgroud)

docker

6
推荐指数
1
解决办法
4294
查看次数

如何将 SMTP 服务器链接到 Plesk Onyx 下的 Docker 容器?

我正在使用 Docker 扩展在 Plesk Onyx 托管服务器上运行 Docker 容器。除了电子邮件,一切都很好。如何将我的 smtp 服务器链接到容器或修改 Docker 文件以设置外部 smtp 服务器?我在那里发现的一切似乎都与 Docker 的 Plesk 版本不匹配。

plesk docker

6
推荐指数
0
解决办法
406
查看次数

标签 统计

docker ×10

networking ×2

ssh ×2

apt ×1

dpkg ×1

firewall ×1

ftp ×1

git ×1

iptables ×1

linux ×1

nat ×1

performance ×1

plesk ×1

ubuntu ×1

ufw ×1

virtualbox ×1

windows-7 ×1