小编mrb*_*t01的帖子

Docker 和 Volumes nocopy

我想将主机上的一个目录挂载到 Docker 容器,并且想在容器内进行一些修改。但是,当我修改挂载点上的内容时,更改也会反映在主机上。

例如:

$ docker run -d --name webserver01 -v /home/guest/app:/app
Run Code Online (Sandbox Code Playgroud)

之后我在 /app 的容器内做了一些更改

$ docker exec -ti webserver01 'touch /app/test.txt'
Run Code Online (Sandbox Code Playgroud)

文件 test.txt 在我的主机和容器内创建(想法是仅在容器内创建文件)

我尝试使用该标志nocopy,但出现此错误:

$ docker run -d --name webserver01 -v /home/guest/app:/app:nocopy
docker: Error response from daemon: Invalid bind mount spec "/home/guest/app:/app:nocopy": invalid mode: nocopy.
Run Code Online (Sandbox Code Playgroud)

Docker版本

$ docker --version
Docker version 1.11.1, build 5604cbe/1.11.1
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

mount volume docker

7
推荐指数
1
解决办法
2万
查看次数

Docker:带有参数和引号的入口点

我正在尝试使用entrypoint.sh 创建一个Docker 映像,并在运行Docker 时传递参数,问题是当我想使用带双引号的参数时。

我在很多地方搜索,我也知道更多的是 Bash 问题以及如何通过双引号扩展参数,但也许有人知道如何避免这种情况。

我的Dockerfile

FROM centos:7

COPY    entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)

我的entrypoint.sh

#!/bin/bash

command --display=true "$@"
Run Code Online (Sandbox Code Playgroud)

运行 Docker:

docker run -ti docker-image:latest --driver="kernel-4.0 kernel-4.1"
Run Code Online (Sandbox Code Playgroud)

预期行为:

command --display=true --driver="kernel-4.0 kernel-4.1"
Run Code Online (Sandbox Code Playgroud)

实际行为:

command --display=true --driver=kernel-4.0 kernel-4.1
Run Code Online (Sandbox Code Playgroud)

我尝试转义双引号,但什么也没有。

linux bash quotes docker

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

标签 统计

docker ×2

bash ×1

linux ×1

mount ×1

quotes ×1

volume ×1