Docker(www.docker.io)看起来很棒.但是,在Mac上安装VirtualBox,Vagrant ......以及Docker之后,我发现无法从另一台计算机(或Mac上的终端会话)访问Docker容器中运行的服务.我正在尝试访问的服务是Redis.
问题似乎是没有分配给Docker容器的IP地址的路由.在这种情况下,容器的IP为172.16.42.2,而Mac的IP为196.168.0.3.
几个笔记:
我正在用docker做一些初步测试.我有我的图像,我可以运行一些容器,:
docker ps
Run Code Online (Sandbox Code Playgroud)
我这样做docker attach container_id并启动apache2服务.
然后从主控制台我将容器提交到图像.
退出容器后,如果我尝试启动容器或尝试从提交的映像运行一个新容器,则始终停止该服务.
如何在启动服务的情况下创建或重启一个容器,例如apache?
我正在尝试在docker的容器之间创建连接.一个容器用php5-fpm,第二个用nginx.
配置php5-fpm默认,只需进行一些更改:
listen = 9000
listen.allowed_clients =
Run Code Online (Sandbox Code Playgroud)
和nginx(/ etc/nginx/sites-available/default):
server {
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
root /var/www/testing;
index index.php
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 192.168.1.2:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用https://github.com/jpetazzo/pipework创建连接,这就是原因fastcgi_pass 192.168.1.2:9000;.我尝试从容器中直接使用IP,但没有.
当我尝试用lynx打开页面时,我有BadGateway.
我试过发布端口MASTER_PORT = $(sudo docker port $ MASTER_ID 9000),但没有... ping没有问题.从nginx …
我可以在HDD上访问运行Linux的计算机,该计算机具有20个内核,92 GB RAM和100 GB存储空间.我想将Hadoop用于涉及大量数据的任务(超过1M字,超过1B字组合).伪分布式模式或完全分布式模式是在单台计算机上利用Hadoop功能的最佳方式吗?
对于我对Hadoop的预期用途,遇到数据丢失并因节点故障而不得不重新运行作业不是大问题.
parallel-processing hadoop virtual-machine processing-efficiency linux-containers
在ip netns创建参考的(命名)网络命名空间/var/run/ns,它可以很容易地跟踪.此外,同样可以通过确定/proc/[pid]/ns/net.但是,某些自定义程序可能会创建一个net ns并将相应的inode保存在其他非常规位置.这可能使得难以确定是否存在我们可以列出的净ns.
其次,unshare <cmd>当进程退出时会破坏net ns,这很好.但是,ip netns exec <netns> <cmd>即使命令/进程退出,也会保留ns.所以我相信,任何自定义程序都可以这样做.
因此,问题是:自定义程序是否可能创建一个未命名的net ns,并且它与任何进程无关?
此外,如果我们不知道inode的路径,是否可以从用户空间列出这样的(隐藏的)网络?(内核当然有一个net ns的链表).代码片段会很有帮助.
我一直在尝试在Docker容器中安装Chef-Server,但我遇到了一些麻烦.我正在运行一个具有最新版Ubuntu 12.04和最新安装的Docker的VM.我运行一个基础Docker Ubuntu 12.04容器并安装chef-server,版本11.0.12,这很顺利.问题是在安装后运行所需的'sudo chef-server-ctl reconfigure'步骤.设置冻结在
* link[/opt/chef-server/init/rabbitmq] action create (up to date)
* link[/opt/chef-server/service/rabbitmq] action create (up to date)
* **ruby_block[supervise_rabbitmq_sleep] action run**
Run Code Online (Sandbox Code Playgroud)
我得到一个stacktrace.out
**SystemExit: ruby_block[supervise_rabbitmq_sleep] (chef-server::rabbitmq line 161) had an error: SystemExit: exit**
/opt/chef-server/embedded/cookbooks/runit/definitions/runit_service.rb:165:in `sleep'
/opt/chef-server/embedded/cookbooks/runit/definitions/runit_service.rb:165:in `block (3 levels) in from_file'
Run Code Online (Sandbox Code Playgroud)
如果有人经历过这个和/或有任何想法我会很感激.
谢谢!
我有一台主机,多个IP地址分配给一个网络接口.我想配置Docker,以便让容器"响应"每个容器到分配给主机的这些IP地址的单个IP.
这可以用libcontainer完成,还是必须使用LXC驱动程序并运行我的容器--lxc-conf="lxc.network..."?
提前致谢.
UPDATE
我希望每个容器都可以从外面到达; 使用默认的Docker配置,我只能暴露一个端口并通过host_ip:exposed_port而不是通过它到达容器container_ip:port.可以通过某种方式配置第二个选项吗?
我不想以 root 身份在 docker 容器中运行任何内容。我想要简约的图像。
我可以毫无问题地在暂存映像中运行我编译的 Go 应用程序。但是当我不希望它以 root 身份运行(我假设它以 root 身份运行)并在 dockerfile 中定义 USER nobody 时,我得到
014/10/25 06:07:10 Error response from daemon: Cannot start container
4822f34e54e20bb580f8cd1d38d7be3c828f28595c2bebad6d827a17b4c2fe21:
finalize namespace setup user get supplementary groups Unable to find user nobody
Run Code Online (Sandbox Code Playgroud)
这是我的 dockerfile
FROM scratch
ADD lichtpunkt_go_linux_amd64 /lichtpunkt_go_linux_amd64
ADD web /web
USER nobody
CMD ["./lichtpunkt_go_linux_amd64"]
EXPOSE 3001
Run Code Online (Sandbox Code Playgroud)
编辑 - - - - - -
事实证明,划痕是空的,非常空。
RUN useradd 会执行 /bin/sh -c useradd 但没有 /bin/sh 。RUN ["useradd"] 将直接执行。但没有 useradd。id 必须添加 rootfs.tar 并从零开始构建内容。
我将使用 debian,因为我不会在容器中以 …
从我读到的内容看来,Docker-Compose是一个在单个主机上创建多个容器的工具,而Docker Swarm是一个工具,可以在Docker Stack的帮助下完成同样的操作,但具有更多的控制权和多个主机.我浏览了教程,也遇到了这个帖子:
docker-compose.yml与docker-stack.yml有什么区别?
我得出的结论是,当你可以将Docker Swarm与Docker Stack一起使用时,没有理由使用Docker-Compose.他们甚至可以使用相同的docker-compose.yml.
似乎Docker-compose出现在swarm和堆栈之前,可能是swarm + stack的新解决方案使得compose过时,但它仍然是遗留原因.这个想法是否正确?如果没有,Docker-Compose在开发或生产环境方面对Docker Swarm和Docker Stack有什么好处?
在一台使用 Podman 运行容器的服务器上,我刚刚意识到,有许多处于“已退出”状态的容器,并且想要一次性删除所有容器。
我怎样才能用 Podman 做到这一点?
linux-containers ×10
docker ×8
linux ×2
networking ×2
chef-infra ×1
docker-swarm ×1
go ×1
hadoop ×1
linux-kernel ×1
lxc ×1
macos ×1
nginx ×1
php ×1
podman ×1
ubuntu ×1
vagrant ×1
virtualbox ×1