标签: boot2docker

我们可以通过dockerfile构建docker镜像时通过cmd行传递ENV变量吗?

我正在开展一项任务,涉及使用Dockerfile构建一个以centOs为基础的docker镜像.dockerfile中的一个步骤需要设置http_proxyhttps_proxy ENV变量才能在代理后面工作.

由于这个Dockerfile将由具有不同代理的多个团队使用,我想避免为每个团队编辑Dockerfile.相反,我正在寻找一个允许我在构建时传递ENV变量的解决方案,例如,

sudo docker build -e http_proxy = somevalue.

我不确定是否已有提供此功能的选项.我错过了什么吗?

environment-variables docker boot2docker dockerfile

60
推荐指数
3
解决办法
4万
查看次数

Docker - 图像操作系统"windows"不能在此平台上使用

我在Windows 10机器上试过这个:

Dockerfile:

From microsoft/nanoserver
CMD ["echo", "Hello World"]
Run Code Online (Sandbox Code Playgroud)

PS

C:\FSD\Docker\Trial1> docker build -t lea/leatest .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM microsoft/nanoserver
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer
58f68fa0ceda: Pulling fs layer
image operating system "windows" cannot be used on this platform
Run Code Online (Sandbox Code Playgroud)

docker boot2docker dockerfile docker-compose docker-machine

58
推荐指数
4
解决办法
3万
查看次数

DOCKER_HOST变量有什么作用?

我是Docker的新手,在OSX上使用Boot2Docker.启动后,会显示以下消息:

To connect the Docker client to the Docker daemon, please set
export DOCKER_HOST=tcp://192.168.59.103:2375
Run Code Online (Sandbox Code Playgroud)

即使没有它,基本的Docker命令(例如docker run hello-world)也能正常工作.

安装说明信息量不大:

Note: If you see a message in the terminal that looks something like this:
To connect the Docker client to the Docker daemon, please set: 
export  DOCKER_HOST=tcp://192.168.59.103:2375
you can safely set the evironment variable as instructed.
Run Code Online (Sandbox Code Playgroud)

知道它是"安全的"并没有说明为什么它有用.

我不清楚的是:

  1. 什么是码头"客户"?
  2. docker"守护进程"是什么?
  3. docker"host"是什么?(Boot2Docker VM本身?)

macos daemon virtual-machine docker boot2docker

55
推荐指数
2
解决办法
10万
查看次数

如何从主机访问Docker容器的Web服务器

我在boot2docker 1.3.1下运行.

我有一个运行Web服务器的Docker容器uwsgi --http :8080.

如果我附加到容器,我可以使用浏览网站,lynx http://127.0.0.1:8080所以我知道服务器正在运行.

我运行我的容器:

$ docker run -itP --expose 8080 uwsgi_app:0.2
Run Code Online (Sandbox Code Playgroud)

它有以下细节:

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
5248ad86596d        uwsgi_app:0.2     "bash"              11 minutes ago      Up 11 minutes       0.0.0.0:49159->8080/tcp   cocky_hypatia
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' 5248ad86596d
172.17.0.107
Run Code Online (Sandbox Code Playgroud)

我以为我可以通过访问来自我的主机访问该网站http://172.17.0.107:49159.

这不起作用.我只是在Chrome中看到"连接......",无处可去.

我究竟做错了什么?

docker boot2docker

54
推荐指数
4
解决办法
7万
查看次数

在boot2docker中运行的docker容器中没有足够的熵来支持/ dev/random

在虚拟化Linux系统中耗尽熵似乎是一个常见问题(例如/ dev/random极慢?,让linux缓冲/ dev/random).尽管使用了硬件随机数生成器(HRNG),但经常建议使用像HAVEGED这样的熵收集守护进程.但是,熵收集守护程序(EGD)无法在Docker容器内运行,它必须由主机提供.

使用EGD适用于基于Linux发行版(如Ubuntu,RHEL等)的docker主机.在boot2docker中运行这样的守护进程 - 基于Tiny Core Linux(TCL) - 似乎是另一个故事.尽管TCL具有扩展机制,但是熵收集守护程序的扩展似乎不可用.

因此,EGD似乎是在(生产)托管环境中运行docker容器的正确解决方案,但是如何解决它在boot2docker中进行开发/测试?

由于在boot2docker中运行EGD似乎太难了,我想只需使用/ dev/urandom而不是/ dev/random.使用/ dev/urandom不太安全,但对于大多数没有生成长期加密密钥的应用程序仍然可以.至少它应该适用于boot2docker中的开发/测试.

docker boot2docker

51
推荐指数
4
解决办法
2万
查看次数

Docker和OpenVZ之间的区别

我是虚拟化世界的新手.有人能解释一下OpenVZ和Docker之间的区别吗?

对未来有什么好处?

优点和缺点?

virtualization virtual-machine openvz docker boot2docker

49
推荐指数
1
解决办法
2万
查看次数

docker-machine中的端口转发?

由于boot2docker已弃用,我已切换到docker-machine但我不知道如何打开端口docker-machine.在boot2docker我可以这样做:

boot2docker ssh -L 27017:localhost:27017
Run Code Online (Sandbox Code Playgroud)

只要SSH连接打开,这就会将端口27017从VirtualBox转发到localhost 27017.请注意,我不是在寻找一种在VirtualBox中永久打开端口的方法.我怎样才能实现这一目标docker-machine

docker boot2docker docker-machine

47
推荐指数
4
解决办法
3万
查看次数

docker-machine boot2docker root密码

在任何地方都找不到答案......我使用docker-machine创建了一个VM(boot2docker).我需要使用root编辑一些文件.

boot2docker中的root密码是什么?

docker boot2docker docker-machine

45
推荐指数
3
解决办法
4万
查看次数

dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim

这个东西现在真的很混乱了.有人可以解释一下发生了什么.只是直的一个班轮差异.

  • dockerd
  • libcontainerd
  • containerd
  • docker-containerd
  • docker-runc
  • docker-containerd-ctr
  • docker-containerd-shim

谢谢

docker boot2docker docker-swarm docker-machine

44
推荐指数
3
解决办法
2万
查看次数

如何在boot2docker上安装nano

我在Windows中运行boot2docker VM,需要修改VM中的init脚本.目前我唯一的选择是VI,这很痛苦.我只想使用nano,但它不可用.

它正在运行:

docker@boot2docker:/c$ uname -a
Linux boot2docker 3.18.5-tinycore64 #1 SMP Sun Feb 1 06:02:30 UTC 2015 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

没有apt-get或任何包管理器.我怎样才能添加nano以便我可以轻松编辑文件?

编辑:

@ John-Petrone的答案有效,但安装完成后,运行nano会出错:

Error opening terminal: cygwin.
Run Code Online (Sandbox Code Playgroud)

如果其他人有这个问题,问题是$ TERM被设置为cygwin.不知道为什么.我只是:

TERM=xterm-color
Run Code Online (Sandbox Code Playgroud)

纳米工作!(如果设置为/ usr/share/terminfo/x中的任何其他可用术语,则显示出时髦字符)

nano docker boot2docker

42
推荐指数
1
解决办法
2万
查看次数