相关疑难解决方法(0)

如何使用docker-compose为mongo数据库播种?

我正在尝试分发一组在几个链接容器中运行的连接应用程序,其中包含一个mongo数据库,该数据库需要:

  • 分发包含一些种子数据;
  • 允许用户添加其他数据.

理想情况下,数据也将保存在链接的数据卷容器中.

我可以mongo使用mongo不安装任何卷的基本实例将数据导入容器(dockerhub image:psychemedia/mongo_nomount- 这实际上是没有VOLUME /data/db语句的基本mongo Dockerfile )和Dockerfile以下行的配置:

ADD . /files
WORKDIR /files
RUN mkdir -p /data/db && mongod --fork --logpath=/tmp/mongodb.log && sleep 20 && \
mongoimport  --db testdb --collection testcoll  --type csv --headerline --file ./testdata.csv  #&& mongod --shutdown
Run Code Online (Sandbox Code Playgroud)

where ./testdata.csv在与./mongo-with-dataDockerfile 相同的目录()中.

我的docker-compose配置文件包括以下内容:

mongo:
  #image: mongo
  build: ./mongo-with-data
  ports:
    - "27017:27017"
  #Ideally we should be able to mount this against a host directory
  #volumes:
  # …
Run Code Online (Sandbox Code Playgroud)

mongodb docker docker-compose

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

使用docker-compose将文件添加到标准图像

我不确定是否有明显的东西逃脱了我或者是否只是不可能但是我正在尝试用来自docker hub的图像组成一个完整的应用程序堆栈.

其中一个是mysql,它支持通过卷添加自定义配置文件,并从已安装的目录运行.sql文件.

但是,我在运行docker-compose的机器上有这些文件,而不是在主机上.在运行entrypoint/cmd之前,是否无法指定本地计算机中的文件复制到容器中?我是否真的必须为这种情况创建一切的本地图像?

docker docker-compose

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

Docker compose:是否可以将本地文件挂载到远程守护进程?

使用场景是这样的:

我已经使用docker-machine配置了一个 AWS EC2 实例。

我想使用docker-compose远程启动该 EC2 实例上一些容器。

撰写文件有一个如下部分:

  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "8888:80"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /home/ubuntu/nginx.tmpl:/app/nginx.tmpl:ro
Run Code Online (Sandbox Code Playgroud)

如果我docker-compose up -d在本地使用,它会工作,因为“ /home/ubuntu/nginx.tmpl ”文件存在于我的本地计算机上。

但是如果我尝试使用docker-compose来控制 AWS 中的远程守护进程,如下所示:

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://x.y:2376"
export DOCKER_CERT_PATH="somedir"
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

它会失败,因为远程计算机中不存在“ /home/ubuntu/nginx.tmpl ”文件。

我试过在远程机器同目录下创建这样的文件,可以用,但是感觉不对……

将本地文件挂载到远程 docker 守护进程的更好方法是什么?

docker docker-compose docker-machine docker-volume

5
推荐指数
1
解决办法
1856
查看次数

将文件添加到 docker 容器以在启动期间使用

是否可以run在容器启动期间使用的操作期间向docker容器提供文件?

基本上我想提供类似于一个txt文件plugins.txt詹金斯泊坞窗到Tomcat服务器。该文件应包含name:version要在容器启动期间下载的 .war 和 .jar 文件的名称和版本 ( )。我希望这种设置能够更灵活地为客户提供定制的容器,而不是拥有客户特定的图像。但对我来说最大的问题是:

  1. 我可以在容器启动期间提供这样的文件吗?
  2. 我应该如何处理文件和/或容器的版本控制,以便能够检查客户特定容器包含的内容?
  3. 还有什么我应该考虑的吗?

docker dockerfile docker-compose

1
推荐指数
1
解决办法
4794
查看次数

当 docker 容器关闭时,MySQL 数据库消失了

我是 docker 世界的新手。我想将一些软件包安装到 docker 镜像中。所以我采用了 Ubuntu:14.04 docker 镜像并在那里安装了 MySQL 服务器。然后用它做了一些工作。一旦我退出 docker image 并提交它。但是一旦我启动了 docker 容器,创建的数据库就消失了。这是什么原因?

mysql docker docker-machine

0
推荐指数
1
解决办法
1162
查看次数