Tag: Ubuntu

使用docker运行容器时出错

我已经在我的机器上安装了docker,我可以成功地从存储库中拉出图像,当我看到拉出的图像列表时,清晰地列出了拉出的图像。 docker服务也开始使用 sudo service docker start 但是,当我尝试运行相同的命令, sudo docker run -it ubuntu:12.04 我收到以下错误 docker:来自守护进程的错误响应:容器命令'/ bin / bash'未find或不存在 这个问题仍然是我曾尝试过的任何图像相同这可能是这个问题的原因?

连接到远程主机上的docker守护进程

我有两个虚拟机(A和B)与Ubuntu和docker安装在两个。 他们被放置在同一个虚拟networking。 我想从B中访问A的docker守护进程 为了达到这个目的,我把A的守护进程绑定到2375端口。为此,我添加了 ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS EnvironmentFile=-/etc/default/docker 到/lib/systemd/system/docker.service和 DOCKER_OPTS="-H tcp://0.0.0.0:2375" 到/etc/default/docker 在BI上使用docker -H=192.168.71.129:2375 run hello-world并获取docker: Cannot connect to the Docker daemon…错误。 故障排除 iptables在两台机器上都是禁用的。 sudo docker -H 192.168.71.129:2375 run hello-world 在工作。 sudo netstat -tunlp | grep docker 在A输出上A sudo netstat -tunlp | grep docker tcp6 0 0 :::2375 :::* LISTEN 10363/docker 在这篇文章中,我看到docker rest […]

Bash脚本来设置Docker失败,但个别命令的工作

我创build了一个bash脚本来为Docker准备一个Ubuntu机器并安装Docker。 但是,在运行脚本时,其中一个sudo apt-get update命令会使脚本在Reading package lists…挂起很长一段时间(可能会永远)。 它是在命令“apt-cache policy docker-engine”之后的那个。 通过这个唯一的方法是按回车 ,这将使得sudo apt-get update继续。 我主要关心的是,当我手动运行这些命令时,它们工作正常,我没有遇到这个问题。 我只在遇到这个问题时才在.sh脚本中运行。 以下是脚本: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee -a /etc/apt/sources.list.d/docker.list sudo apt-get update sudo apt-get purge lxc-docker apt-cache policy docker-engine sudo apt-get update echo […]

使用用户名空间时无法访问Docker镜像

在我的Ubuntu 14.04服务器上,我有名为virtual_machine Docker映像。 当我不使用用户命名空间( –userns-remap=myuser )时,可以使用docker images命令查看–userns-remap=myuser docker images 。 当我在docker守护进程上启用命名空间时,无法看到图像。 启动–userns-remap=myuser并创build容器的用户(也在–userns-remap=myuser是在主机上几乎没有任何特权的用户。 我试图给他完全的所有权和/var/lib/docker/目录下的所有权限,但结果是一样的。 到底是怎么回事?

当Gradle运行transformClasses时,Android构build在Ubuntu Docker容器中失败

我的Android项目得到很好的Windows开发机器上有很多内存。 但在一个简单的Docker容器(FROM ubuntu:xenial + Android SDK)中,gradle build(./gradlew assembleTrunkDebug)在58%的执行任务时失败: transformClassesWithPreJackPackagedLibrariesForTrunkDebug 即使有–stacktrace – debugging最多,我从错误中得到的是: Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 有几件奇怪的事情我注意到了:传递给docker容器实例的内存参数并不重要。 它总是显示我相同的记忆统计。 Tasks: 2 total, 1 running, 1 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st […]

创build自定义的Docker镜像

我试图了解如何创build一个自定义图像。 我正在研究node.js中的应用程序,并使用catdoc从文本文件中提取文本。 我确实通过dockerhub把办公室的node.js映像拉了下来: git pull node 并通过命令运行映像: docker run -p 8080:3000 -v $(PWD):/my-app -w "/my-app" node npm start 我的应用程序打开一个调用catdoc的child_process,但它不工作,显然是因为它是一个node.js图像,所以我试着: docker exec <node_container_id> apt-get install catdoc 这返回: Reading package lists… Building dependency tree… Reading state information… E: Unable to locate package catdoc 我试图了解…这个图像没有Ubuntu的,所以我想“我将下载的Ubuntu和Node.js与catdoc那里”…但是,好…不起作用: docker exec <ubuntu_container_id> apt-get node 返回: rpc error: code = 2 desc = […]

无法将docker容器(rpi-nginx)链接到本地​​文件系统

我正在玩Raspberry Pi 2和Docker上的Snappy Ubuntu Core。 我已经创build了一个rpi-nginx容器,它的工作原理,但我有容器链接到本地​​文件系统的麻烦。 在这个docker-nginx教程之后,我将我的树莓上的〜/ www链接到容器上的/ usr / share / nginx / html ,并在〜/ www中创build了一个文件a.html 。 它看起来没问题,因为从terminal我看到a.html和defauld index.html两个地方,但当我尝试从浏览器404打开a.html发生错误。 小麦可以是问题吗?

docker非根绑定挂载权限,WITH –userns-remap

所有:徘徊尝试获取绑定安装权限的工作。 我的目标是绑定在一个容器中安装一个卷,以便: (a)容器不以root用户身份运行入口点 (b)docker-daemonconfiguration了–userns-remap,以便容器在主机上没有root (c)我可以使用一个容器来绑定安装和读取/写入我的普通用户(主机上的UID:GID 1000)可读写的卷 (d)创build文件时,它们都具有作为常规主机用户的权限,而不是root或nobody。 从安全的angular度来看,我们希望避免在主机上有容器的容器,这是一个不容忽视的要求(b)。 需求a,c和d来自将容器日志发送到文件系统上的绑定安装目录的愿望,因此可以通过splunk来消化它们。 这个configuration是/将会是在kubernetes上进行日志logging的首选方式( 在这里可以看到更多的细节)。 有没有人有办法获得以上所有4个要求? 这是查看问题的最简单的方法。 用–userns-remap运行Docker: DOCKER_OPTS="–userns-remap=1000:1000" 开始容器高山,运行它作为根。 观察foo.txt的权限是没有人的。 我预计他们是根或1000:1000,因为那是什么他们在文件系统上: dcowden@ubuntu:~/gitwork/file-perm-stuff$ docker run –rm -it -v /home/dcowden/gitwork/file-perm-stuff/testlogs:/logs alpine /bin/sh / # ls -ln /logs total 0 -rw-rw-r– 1 65534 65534 0 Aug 20 19:08 foo.txt / # exit 退出容器,并查看文件。 观察他们拥有1000:1000,所以用户重新映射已经搞砸了: dcowden@ubuntu:~/gitwork/file-perm-stuff$ ls -ln testlogs total 0 -rw-rw-r– […]

尽pipeDEBIAN_FRONTEND在Docker镜像中,debconf警告

我有很简单的Dockerfile FROM ubuntu:14.04 MAINTAINER XXX <xxx@yyy.zzz> ARG DEBIAN_FRONTEND=noninteractive RUN sudo apt-get -y update && sudo apt-get -y install apache2-utils 我在Docker构build过程中看到以下消息 debconf: unable to initialize frontend: Dialog debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.) debconf: falling back to frontend: Readline debconf: unable to initialize […]

Docker机器用户无法访问主机上的文件

我有在远程计算机上设置我的docker环境的问题。 我准备了当地的docker机器。 问题在于nginx + php-fpm。 Nginx充当nginx用户,php-fpm充当www-data用户。 主机上的文件(应用程序文件)由user1拥有。 chmods是symfony2应用程序的默认设置。 当我访问我的networking服务器时,它返回404错误或只是简单的“找不到文件”。 有一段时间,我的本地Ubuntu 16.04上完全相同的configuration工作,但在服务器上的Debian Jessie失败。 现在它不适用于这两个。 我尝试了一切,在系统pipe理员组织上询问并search了几个小时。 你有什么想法吗? 这是我的虚拟主机configuration server { listen 80; server_name dev.xxxxx.co xxxxx.dev; root /usr/share/www/co.xxxxx.dev/web; index app_dev.php; client_max_body_size 100M; fastcgi_read_timeout 1800; location / { # try to serve file directly, fallback to app.php try_files $uri $uri/ /app.php$is_args$args; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found […]