我在Macbook Pro笔记本电脑上运行docker-machine(0.5.0)和docker-compose(1.5.0)来让我的容器运行.
这意味着我正在使用docker-machine来创建我的虚拟机boot2docker驱动的HOST机器,它将运行我的docker守护程序并托管我的所有容器.
我想我缺少一些关于HOSTS和VOLUME概念的东西,因为它们指的是Docker和文档.
这是我的docker-compose.yml文件(web只是构建了php:5.6-apache图像):
web:
restart: "always"
build: ./docker-containers/web
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
links:
- mysql:mysql
mysql:
restart: "always"
image: mysql:5.7
volumes_from:
- data
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=XXX
data:
restart: "no"
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
Run Code Online (Sandbox Code Playgroud)
Docker撰写卷的文件文档在这里:http://docs.docker.com/compose/compose-file/
它表示卷 - 将路径挂载为卷,可选择指定主机上的路径(HOST:CONTAINER),或访问模式(HOST:CONTAINER:ro).
在这种情况下主机是指我的由docker-machine创建的VM,对吗?还是我的本地macbook文件系统?将VM上的路径挂载到容器?
在网上我声明:
volumes:
- ./src:/var/www/html
Run Code Online (Sandbox Code Playgroud)
这是将我的macbook pro上的本地macbook文件系统./src文件夹映射到我的Web容器.如果我的理解是正确的,不应该将我的VM上的./src文件夹映射到Web容器中的/ var/www/html吗?!从理论上讲,我认为我应该首先将我的本地mac文件系统文件夹./src复制到我的VM,然后我做这个卷声明.似乎docker-compose一下子神奇地做了所有这一切?困惑
最后,我们可以看到我正在创建一个仅限数据的容器来保存我的mysql数据.我宣布:
volumes:
- /var/lib/mysql …Run Code Online (Sandbox Code Playgroud) 在Mac上,如何将卷安装到Docker容器?
在我的linux机器上,这很容易.我需要做的就是-v /src/webapp:/opt/webapp运行容器时.但Mac不同,因为我必须运行boot2docker才能在VirtualBox中运行VM.我试过跑步
boot2docker init
boot2docker up
boot2docker ssh # to poke around
boot2docker stop
VBoxManage sharedfolder add "boot2docker-vm" --name "Users" --hostpath /Users
boot2docker up
boot2docker ssh "sudo modprobe vboxsf"
Run Code Online (Sandbox Code Playgroud)
但我明白了
modprobe: module vboxsf not found in modules.dep
Run Code Online (Sandbox Code Playgroud)
如果我忽略它并仍然尝试像这样挂载在VM上
boot2docker ssh "sudo mkdir /test && sudo mount -t vboxsf Users /test"
Run Code Online (Sandbox Code Playgroud)
我明白了
mount: mounting Users on /test failed: No such device
Run Code Online (Sandbox Code Playgroud)
我觉得我错过了一些非常简单的东西,但我无法弄明白.任何帮助将不胜感激.
如何/在哪里安装 spark sql 的 jdbc 驱动程序?我正在运行all-spark-notebook docker 映像,并尝试将一些数据直接从 sql 数据库中提取到 spark 中。
从我可以告诉我可以告诉我需要在我的司机Classpath,我只是不知道如何做到这一点的pyspark?
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.master("local") \
.appName("Python Spark SQL basic example") \
.getOrCreate()
jdbcDF = spark.read \
.format("jdbc") \
.option("url", "jdbc:postgresql:dbserver") \
.option("dbtable", "jdbc:postgresql:dbserver") \
.load()
---------------------------------------------------------------------------
Py4JJavaError Traceback (most recent call last)
<ipython-input-2-f3b08ff6d117> in <module>()
2 spark = SparkSession .builder .master("local") .appName("Python Spark SQL basic example") .getOrCreate()
3
----> 4 jdbcDF = spark.read .format("jdbc") .option("url", …Run Code Online (Sandbox Code Playgroud) 我想在我的 node.js Web 服务器中使用 typescript。但是,Web 服务器位于 Docker 容器中。我像打击一样使用Dockerfile:
FROM node:latest
COPY code/ /usr/local/lib
WORKDIR /usr/local/lib
RUN npm install -g koa@2
RUN npm install -g sequelize
RUN npm install -g mysql
RUN npm install -g typescript
CMD ["sh", "-c", "rm", "webApp.js"]
CMD ["sh", "-c", "tsc", "webApp.ts"]
CMD ["node", "webApp.js"]
Run Code Online (Sandbox Code Playgroud)
在我构建我的 Docker 之后,我发现在 CMD 命令之后没有生成 webApp.js。为什么,我应该如何解决?谢谢。
我正在尝试使用本地 nuget 包进行 dotnet 恢复,我尝试按照本教程进行操作:dotnet restore w/out internet
我的问题:
即使它存在于该路径上,它也看不到该路径。
.
我使用的服务器位于公司网络上,这就是我无法使用 dotnet restore 的原因,所以我也遇到了与此链接类似的 nuget.org 问题。
环境:
对于示例项目,我使用了:
虽然@omajid 的回答非常有帮助,但我相信 docker volume mount 仅在使用 docker run 时才可能,不能在 Dockerfile(将用于构建管道)中使用。得到了与我想要实现的类似的链接。如何在 Docker 容器中挂载主机目录
我正在尝试测试由 Docker 管理的 Django 应用程序。由于这是一个仅供我使用的开发项目,因此我使用 sqlite3 数据库后端。但是,因为我将用大量生成的数据填充此测试数据库,并且因为我不完全信任 Docker,所以我想将此 sqlite3 db 文件存储在容器外部的我的主目录中,以确保它不会不会被删除或丢失。
然而,根据设计,Docker 使得容器内的程序很难访问这些容器外部的文件。如何更新我的 Docker 配置以允许访问我的主目录中的这一特定数据库文件?
Docker 新手,Docker Toolbox在 Win 10 x64 上运行。
我正在尝试与容器(在本例中为 Portainer)共享(挂载)本地 Windows 路径,以便容器将其所有配置设置保存在我的 PC 本地,以便我始终可以升级容器,同时仍然拥有它的配置持久性。
我已经阅读/观看了许多教程、参考、文档、视频等,我正在尝试做他们似乎解释的事情,但是当我创建安装了本地路径的容器然后进入容器时,设置一些配置设置,然后查看我安装的 Windows 路径,那里没有保存任何内容。
不确定是什么问题?
这是我正在运行的 docker cmd 示例:
docker run -it -v /c/Servers/DockerConfigs/Portainer:/data :P portainer/portainer
Run Code Online (Sandbox Code Playgroud)
据我了解,存储在/data容器文件夹中的任何内容也应该保存到主机上的 Windows 文件夹中C:\Servers\DockerConfigs\Portainer,但没有任何内容保存到该 Windows 文件夹中......
我还尝试将主机上的一些文件复制到该 Windows 文件夹中,然后在容器中查看该/data文件夹以查看它们是否显示在使用中,ls -a但同样,那里没有任何显示...
有谁知道我错过了什么?
我是 docker 新手,需要一些建议。我即将用 Gitea 建立我自己的个人 git 存储库。docker compose 文件可以在下面看到。当我第一次运行文件时,一切都很好。当我重新启动计算机或 Docker 时出现问题,然后页面加载但它是空的,没有存储库,什么都没有。此外,无法使用首次安装后设置的凭据登录。重新启动后,与数据库的连接似乎丢失了。
码头工人撰写文件:
version: "2"
networks:
gitea:
external: false
volumes:
gitea:
driver: local
services:
server:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
restart: always
networks:
- gitea
volumes:
#- ./gitea:/data
- gitea:/data
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud) 我有一个 Spring Boot 应用程序,用于com.spotify.dockerfile-maven-plugin构建我的应用程序 org.rtu/some-importer 的 docker 映像
我的 docker-compose.yml 是:
version: '3'
services:
some-importer:
image: org.rtu/some-importer
build: .
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.17.0.1
KAFKA_CREATE_TOPICS: "test:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
我怎么能说的过程中docker-compose up,它应该使用一个外部config.properties的/data/some-importer/config文件夹?
docker ×7
dockerfile ×2
mount ×2
.net-core ×1
boot2docker ×1
django ×1
macos ×1
mysql ×1
node.js ×1
pyspark ×1
spring ×1
spring-boot ×1
typescript ×1
volumes ×1