5

Попытка запустить приложение Hello World в Docker Toolbox.

ОС: Windows 7 Профессиональная SP1

Устанавливается отсюда, ошибок при установке нет.

Запустил 'Docker Quickstart Terminal' и набрал

$ docker run hello-world

и я получаю

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pulling fs layer
E:\Sanjay\Tensor\Docker Toolbox\docker.exe: open /mnt/sda1/var/lib/docker/tmp/Ge
tImageBlob474134307: read-only file system.
See 'E:\Sanjay\Tensor\Docker Toolbox\docker.exe run --help'.

есть идеи как поступить?


Не уверен, что это поможет:

$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.3
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.27-boot2docker
Operating System: Boot2Docker 1.12.3 (TCL 7.2); HEAD : 7fc7575 - Thu Oct 27 17:2
3:17 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 995.8 MiB
Name: default
ID: O5YY:NXSQ:PYYI:HHGU:6ZN3:3U7H:DICU:3QWV:ABUJ:EUFR:MAEU:MMNN
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 15
 Goroutines: 27
 System Time: 2016-11-24T18:11:38.478659087Z
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox
Insecure Registries:
 127.0.0.0/8

2 ответа2

3

Я загрузил Docker на старую машину с win8, и все прошло нормально. Я вернулся позже и получил ту же проблему, что и вы. Вот что я сделал. Сначала вам нужно найти имя вашего докера:

$ docker-machine ls

Затем с именем вашей машины запустите команду

$ docker-machine restart <name>

и это помогло мне. Я не знаю, почему это сработало.

1

У меня были проблемы с некоторыми папками, и это оказалось проблемы с разрешениями Windows. Я не мог исправить это через саму Windows, но мне пришлось использовать терминал CygWin для запуска старой доброй команды chmod .

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не гуру безопасности Windows, и не могу говорить об общих последствиях безопасности следующих действий! Используйте на свой риск! Кроме того, не существует «чистого» способа отменить эти действия.

Открыв терминал CygWin и запустив ls -l в моем c:\Users\<user> , я увидел следующее;

$ ls -l 
total 1417
drwxr-x---+ 1 SYSTEM         SYSTEM      0 Dec 11 06:23 Desktop
-rwxrwx---+ 1 Administrators SYSTEM    174 Mar 18  2017 desktop.ini
drwx------+ 1 SYSTEM         SYSTEM      0 May 15  2017 Documents
drwx------+ 1 SYSTEM         SYSTEM      0 Aug 22  2013 Downloads
drwx------+ 1 SYSTEM         SYSTEM      0 May 15  2017 Libraries

Обратите внимание, что файлы не принадлежат пользователю, а права доступа устанавливаются только владельцу. Сначала я попытался сменить владельца на свое имя пользователя, используя chown , но это не помогло. Итак, затем я попробовал эту команду, чтобы открыть разрешения для каталогов;

$ find . -type d -exec chmod 0770 {} \;

Это привело к этим разрешениям на все мои каталоги;

$ ls -l
total 14059
drwxrwx---+ 1 rooster SYSTEM       0 Nov 18 16:36  Desktop
drwxrwx---+ 1 rooster SYSTEM       0 Dec 11 16:58  Documents
drwxrwx---+ 1 rooster None         0 Dec 12 11:05  Downloads

После этого у меня не было проблем.

Учитывая, что один только chown кажется, не имеет никакого эффекта, я рекомендую сначала попробовать chmod , а затем, возможно, chown если один chmod не работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .