Tag: docker文件docker 撰写

我如何保留对docker集装箱所做的所有更改?

我使用docker作为“轻”虚拟机。 例如,当我需要在Ubuntu上做一些实验并且不想搞乱主机操作系统时,我只需运行docker run -it ubuntu bash 。 一般来说,我很高兴,除了我exit后无法保留更改,这意味着我需要重新运行 apt update && apt install vim git python python3 <other_tools> && pip install flask coverage <other_libraries> && ….. 每次我把Docker容器作为虚拟机启动,效率非常低。 我注意到了这个问题 ,但它只能让我保留一些特定的文件被删除,而我希望整个系统 (包括但不限于所有的configuration,caching和工具安装)保留之间的生命周期docker集装箱。

Docker:是否有可能使两个Docker容器logging在同一个文件上?

我有两个Dokcer容器 。 每个容器的日志都写在文件a.txt中 ContainerA – > /VolumeA/a.txt ContainerB – > /VolumeB/a.txt 我想统一在相同的文件和相同的日志logging,所以我打算为这两个容器装载相同的SharedVolume ,并输出相同的a.txt文件的日志: Intented Result :VolumeA OR VolumeB —> /SharedVolume/a.txt 我的问题是,不知道是否每个容器, 将在日志logging结束时擦除或写入 。 当然,我的目的是每次都在文件末尾find一种方法来进行日志logging。 另外我没有并发访问的问题 ,因为ContainerA始终在ContainerB之前进行日志logging build议?

tensorflow的现成docker图像下载

是否有预先安装的tensorflow的现成docker镜像可以提前下载? 我知道关于gcr.io /tensorflow/tensorflow。 但是,据我所知,你必须运行docker先下载它。 我认为最终的运行发生在已经下载的副本上。 我想事先手动下载以供以后使用。 我试过了: $ docker image pull gcr.io/tensorflow/tensorflow 但它给了我错误: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.32/images/create?fromImage=gcr.io%2Ftensorflow%2Ftensorflow&tag=latest: dial unix /var/run/docker.sock: connect: permission denied

Docker在同一个容器上覆盖“pip install”和“npm install”

在我的docker集装箱中,我试图用pip安装几个包,并通过npm安装Bower。 似乎无论哪个pip或npm先运行,另一个在/ usr / local / bin中的内容被覆盖(具体来说,gunicorn缺less下面的Dockerfile,或者Bower丢失,如果我交换我的FROM..RUN块)。 这是Docker的预期行为,如果是这样,我该如何将我的pip包和Bower安装到同一个目录/ usr / local / bin? 这是我的Dockerfile: FROM python:3.4.3 RUN mkdir /code WORKDIR /code ADD ./requirements/ /code/requirements/ RUN pip install -r /code/requirements/docker.txt ADD ./ /code/ FROM node:0.12.7 RUN npm install bower 这是我的docker-compose.yml文件: web: restart: always build: . expose: – "8000" links: – postgres:postgres #-redis:redis volumes: – .:/code env_file: […]

将现有的本地neo4j数据库映射到neo4j泊坞窗容器

编辑:我在OSX上运行。 所以我有麻烦映射现有的本地数据库到我新创build的docker集装箱,并努力通过谷歌find答案。 这是我的docker-compose.yml: version: '2' services: neo4j: image: neo4j ports: – "7474:7474" volumes: – /Users/**/Documents/Neo4j/**.graphdb:/data environment: NEO4J_AUTH: neo4j/** 我有双重检查 volumes: – /Users/**/Documents/Neo4j/**.graphdb:/data 指向正确的目录(星星隐藏个人信息)。 在neo4j桌面应用程序中使用这个相同的URL工作正常。 任何帮助将是伟大的, 提前致谢。

Docker正在改变文件的所有权和权限,为什么?

我有以下docker-compose.yml文件: version: '2' services: php-fpm: container_name: "php71-fpm-nginx" build: php-fpm ports: – 8080:80 – 9002:9002 environment: PHP_ERROR_REPORTING: 'E_ALL & ~E_DEPRECATED & ~E_NOTICE' STATUS_PAGE_ALLOWED_IP: '127.0.0.1' volumes: – ~/dev:/data/www links: – db db: container_name: "db_mysql" image: mysql environment: MYSQL_ROOT_PASSWORD: '1qazxsw2' MYSQL_DATABASE: 'nortwind' MYSQL_USER: 'db_user' MYSQL_PASSWORD: '1qazxsw2' volumes: – ./dev/northwindSQL:/docker-entrypoint-initdb.d – ~/data/db:/var/lib/mysql elk: container_name: "elk" image: willdurand/elk ports: – […]

docker-compose在以普通用户身份运行时出现错误“ImportError:No module named ssl_match_hostname”

我已经安装了docker-compose与“pip2.7安装docker-compose”,但是当我尝试以“普通”用户身份运行时,我收到以下错误消息: mike@hugin:~/Tobedeleted$ docker-compose -v Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 7, in <module> from compose.cli.main import main File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 17, in <module> from . import errors File "/usr/local/lib/python2.7/dist-packages/compose/cli/errors.py", line 10, in <module> from docker.errors import APIError File "/usr/local/lib/python2.7/dist-packages/docker/__init__.py", line 2, in <module> from .api import APIClient File "/usr/local/lib/python2.7/dist-packages/docker/api/__init__.py", line 2, in <module> […]

Docker容器不会重新加载Angular应用程序

docker-compose运行我的docker容器中有ng serve问题。 Dockerfile FROM node:7.1 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app RUN npm install RUN npm install -g angular-cli COPY . /usr/src/app EXPOSE 4200 CMD [ "npm", "start" ]' 而我的docker-compose.yml web: build: . ports: – '8089:4200' volumes: – .:/usr/src/app/ environment: – NODE_ENV=dev command: bash -c "npm start" 当我运行它时,一切正常,但编辑文件不会引起应用程序重新加载。 文件被改变,我敢肯定,因为我通过SSH连接检查它,并在容器中的文件被编辑。 当容器重新启动时,每改变一次都应用。 我想,当我只用docker工人转换build筑物的形象来组成这个会消失,但不。 当我打电话touch […]

Docker容器总是重新启动

我尝试从debian映像启动Docker容器,并使用Docker撰写文件。 但是当我做docker ps – a ,容器总是重新启动。 我不知道为什么:s 在这里我的dockerfile: FROM debian:jessie ENV DEBIAN_FRONTEND noninteractive RUN mkdir /home/server RUN cd /home/server VOLUME /home/server CMD /bin/bash 在这里,我的docker撰写文件: version: '2' services: server: build: . restart: always container_name: server volumes: – "/home/binaries:/home/server"

Docker撰写服务不公开端口

所以我正在构build一个Elixir / Phoenix应用程序,并且我有以下docker-compose服务: dev: extends: service: common environment: POSTGRES_HOST: "postgres.dev" MIX_ENV: dev ports: – "4000:4000" depends_on: – postgres command: > bash -c ' cd $$APP_HOME \ && mix ecto.create \ && mix ecto.migrate \ && iex -S mix phx.server' 这有效地运行在0.0.0.0:4000上的应用程序: Erlang/OTP 20 [erts-9.1.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [info] Running MyApp.Endpoint with Cowboy […]