在我的 Dockerfile 中,我运行了一个脚本:
RUN /bin/sh -c scripts/init.sh
Run Code Online (Sandbox Code Playgroud)
在内部init.sh,所有以 结尾的命令&都不会执行:我无法运行后台进程。知道为什么吗?
我安装了 boot2docker 并运行:
./boot2docker start
export DOCKER_HOST=tcp://localhost:4243
Run Code Online (Sandbox Code Playgroud)
我从 Docker 站点开始了一个教程。
我不明白一件事 - 当我跑步时:
sudo docker info
==>
Get http:///var/run/docker.sock/v1.11/info: dial unix /var/run/docker.sock: no such file or directory
Run Code Online (Sandbox Code Playgroud)
但是,当我在没有sudo它的情况下运行时:
MacCris:bin cristianc$ docker info
Containers: 2
Images: 10
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 14
Execution Driver: native-0.2
Kernel Version: 3.14.1-tinycore64
Debug mode (server): true
Debug mode (client): false
Run Code Online (Sandbox Code Playgroud)
知道为什么像教程中那样使用 sudo 运行不起作用(至少对我而言)?
使用基础 PostgreSQL Docker 映像时,您选择一个 PostgreSQL 版本,启动一个容器并运行。伟大的!但是,将来升级到更新版本的 PostgreSQL 的正确/最佳方法是什么?
我有一个 OpenVPN 服务器运行,暴露了一些私有 IP 地址,我希望我的 docker swarm 服务访问这些地址。
理想情况下,容器“内部”不会有 OpenVPN 客户端,因为图像预计将部署在不需要 VPN 的环境中。
到目前为止我尝试过的
我使用dperson/openvpn-client映像成功地将容器连接到我的 VPN 。
我使用该--net=container:my-vpn-client标志成功启动了使用该容器作为其网络的另一个容器。
现在我正在尝试设置一个docker 服务来访问我的私有 IP 地址,我发现的是:
cap-add: NET_ADMIN。Docker 在讨论这个问题时有一些悬而未决的问题,但它们仍然是悬而未决的。network_mode: "container:my-vpn-client"因为它不受支持并且确实有意义,因为我不可能强制在每个节点上都存在一个任意容器swarm 而不是服务本身。所以我在这里,有什么想法吗?
PS 如果有帮助,这主要是设置一些自动化测试,这些测试将在单个 docker 机器上以 swarm 模式运行服务,如 swarm init > stack deploy > run tests > swarm leave。所以如果有一个“黑客”......我可能会感兴趣;)
VPN 阻止了我允许 Docker for Windows 在 Windows 10 机器上共享 C: 的尝试。
当我离开 VPN 时工作正常。当它打开时,我得到
防火墙阻止了 Windows 和容器之间的文件共享。有关更多信息,请参阅文档。
文档说
您不需要在任何其他网络上打开端口 445。默认情况下,允许从 10.0.75.2(虚拟机)连接到 10.0.75.1 端口 445(Windows 主机)。
我在“谷歌搜索”试图找到如何做到这一点 - 有人可以建议吗?
我使用了 docker 18.03.1-ce-win65 (17513)、Cisco AnyConnect Secure Mobility Client 3.1.12020 和 Symatec Endpoint 14。
当我在办公室并使用电缆时,一切正常,但在家里,当我连接 VPN 时,我无法与 docker 共享驱动器。由于公司政策,我必须使用此 VPN 客户端。
我正在运行 docker 1.6 并boot2docker在 Windows 8.1 机器上运行。当我使用 Boot2Docker Start 快捷方式时,它会将我带到一个 cygwin bash 提示符,我可以在其中本地运行 docker 命令。
我在从我的用户文件夹安装目录时遇到问题。我试过了:
$ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
我收到错误:
invalid value "C:\\Users\\someone\\AppData\\Roaming/Bitcoin:/datadir"
for flag -v: \Users\someone\AppData\Roaming/Bitcoin:/datadir
is not an absolute path
See 'c:\Program Files\Boot2DockeForWindows\docker.exe run --help'.
Run Code Online (Sandbox Code Playgroud)
当我这样称呼它时,我得到了相同的结果:
$ docker run -d --name abe -v "$APPDATA/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v "/c/users/someone/AppData/Roaming/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v ~/AppData/Roaming/Bitcoin:/datadir poliver/bitcoin-abe
Run Code Online (Sandbox Code Playgroud)
我也试过:
$ docker run -d --name abe …Run Code Online (Sandbox Code Playgroud) 当谈到使用 Docker 的用户时,我有点困惑。当我运行 Windows 容器(例如 microsoft/windowsservercore)并输入“whoami”时,我得到以下响应
user manager\containeradministrator
Run Code Online (Sandbox Code Playgroud)
但是当在容器内运行“net user”时,我没有看到任何容器管理员,而只是
-------------------------------------------------------------------------------
Administrator DefaultAccount Guest
Run Code Online (Sandbox Code Playgroud)
那么这个conataineradministrator到底是什么用户,他有什么权限呢?他是否属于某个用户组?
我刚刚完成了一个新的工作站构建(Designare EX x399、Threadripper 1950x、gtx 1080ti)并且一切正常,除了 Docker 不起作用,因为我需要在 BIOS 中启用硬件辅助虚拟化。但是,我找不到选项或与我如何启用它相关的任何材料。这个主板可以吗?
这是我的nginx配置(作为 docker 容器运行,以防万一):
events {
worker_connections 4096; ## Default: 1024
}
http {
server {
server_name registry.mydomain;
listen 80;
listen 443 ssl;
client_max_body_size 0; # Disables checking, to avoid "request entity too large"
ssl_certificate /etc/nginx/certs/registry.crt;
ssl_certificate_key /etc/nginx/certs/registry.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://registry:5000;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,nginx即使是对其他域的请求,它也在为该站点提供服务。这是预期的:
$ http http://registry.mydomain/v2/_catalog?n=100
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 20
Content-Type: application/json; charset=utf-8
Date: Thu, 05 Apr 2018 12:43:21 GMT
Docker-Distribution-Api-Version: …Run Code Online (Sandbox Code Playgroud) 在 docker 中,18.09+我们可以使用以下方法在构建镜像时使用转发的 ssh 密钥:
# syntax=docker/dockerfile:experimental
# example file
FROM node:10.15.3-alpine
RUN apk update && apk add openssh-client git
# use the forwarded ssh key
RUN --mount=type=ssh git clone <repo>
Run Code Online (Sandbox Code Playgroud)
然后我们将像这样构建图像:
DOCKER_BUILDKIT=1 docker build --ssh default .
Run Code Online (Sandbox Code Playgroud)
我想用docker-compose它来实现这一点,但它似乎不起作用。--sshdocker-compose 命令没有标志,我看不到可以在docker-compose.yml文件中设置的任何内容来完成此操作。
docker ×10
windows ×3
bash ×1
bios ×1
container ×1
cygwin ×1
forwarding ×1
macos ×1
nginx ×1
openvpn ×1
permissions ×1
process ×1
ssh ×1
ssh-keys ×1
sudo ×1
threadripper ×1
ubuntu ×1
vpn ×1
windows-8.1 ×1