Docker ошибка при установке windows 7

Docker Desktop is not supported on windows 7, you can use Docker toolbox instead.
Do following steps:

  • Install hyper-v
  • Install Docker Toolbox and try to follow link instructions
  • Run Docker Quickstart as admin.

After following above steps, you may not be able to run Docker Quickstart Terminal properly. If so, follow below steps:

  • Go to window’s Start.
  • type: Environment
  • click: Edit the system environment variables
  • Make sure you have VBOX_INSTALL_PATH (should point to VirtualBox installation folder. i.e. C:Program FilesOracleVirtualBox)
  • Make sure you have VBOX_MSI_INSTALL_PATH (should point to VirtualBox installation folder. i.e. *C:Program FilesOracleVirtualBox*)
  • Make sure you have VBOX_USER_HOME (e.g. C:UsersSara.VirtualBox)
  • Make sure you have DOCKER_TOOLBOX_INSTALL_PATH in your User variables (i.e. C:Program FilesDocker Toolbox)
  • Restart your computer.

Try Running Kitematic. If its not working and you are receiving an error about «default» already existing or config.json missing, do the following:

  • close Docker Quickstart Terminal if open.
  • open task manager -> processes.
  • End process VBoxHeadless.exe
  • add an empty config.json file manually in %userprofile%.dockermachinemachinesdefault if config.json is missing.
  • Run in CMD: docker-machine rm -f default
  • Run in CMD: docker-machine create -d virtualbox —virtualbox-memory 2048 default

If the above CMD commands failed:

  • delete folder %userprofile%.dockermachinemachinesdefault manually
  • restart computer
  • run Docker Quickstart Terminal as admin
  • folder %userprofile%.dockermachinemachinesdefault should have been created properly at this point.
  • open kitematic. UI should be presented properly

Problem with «default» project

Failure on «default»

Expected behavior

Double click on Docker for Windows Installer.exe starts the installator program

Actual behavior

Installator is not started, there is error when started from a console:


C:UsersAdministratorDownloads>
Unhandled Exception: System.Windows.Markup.XamlParseException: Set property 'Sys
tem.Windows.FrameworkElement.Style' threw an exception. ---> System.IO.FileNotFo
undException: Could not load file or assembly 'PresentationFramework.Aero2, Publ
icKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find
the file specified.
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String cod
eBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&
stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntro
spection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName as
semblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMar
k& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIn
trospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at System.Windows.Baml2006.Baml2006SchemaContext.ResolveAssembly(BamlAssembly
 bamlAssembly)
   at System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlTypeToType(BamlTy
pe bamlType)
   at System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlType(BamlType bam
lType, Int16 typeId)
   at System.Windows.Baml2006.Baml2006SchemaContext.GetXamlType(Int16 typeId)
   at System.Windows.Baml2006.Baml2006Reader.Process_ElementStart()
   at System.Windows.Baml2006.Baml2006Reader.Process_OneBamlRecord()
   at System.Windows.Baml2006.Baml2006Reader.ReadObject(KeyRecord record)
   at System.Windows.ResourceDictionary.CreateObject(KeyRecord key)
   at System.Windows.ResourceDictionary.OnGettingValue(Object key, Object& value
, Boolean& canCache)
   at System.Windows.ResourceDictionary.OnGettingValuePrivate(Object key, Object
& value, Boolean& canCache)
   at System.Windows.ResourceDictionary.GetValueWithoutLock(Object key, Boolean&
 canCache)
   at System.Windows.ResourceDictionary.GetValue(Object key, Boolean& canCache)
   at System.Windows.DeferredResourceReference.GetValue(BaseValueSourceInternal
valueSource)
   at System.Windows.DependencyPropertyChangedEventArgs.get_NewValue()
   at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, Depende
ncyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChange
dEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChange
dEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyCha
ngedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex
, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry
, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean co
erceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Obje
ct value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolea
n coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Ob
ject value)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember
 property, Object value)
   --- End of inner exception stack trace ---
   at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInf
o lineInfo, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjec
tWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject
, XamlObjectWriterSettings settings, Uri baseUri)
   at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolea
n skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri b
aseUri)
   at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext par
serContext, Object parent, Boolean closeStream)
   at LightweightInstaller.Wizard..ctor(IChannelHelper channelHelper)
   at LightweightInstaller.Cmd.CommandResolver.Resolve(String[] args)
   at LightweightInstaller.Program.Main(String[] args)

Information

  • Windows 7 Professional Service Pack 1
  • installer downloaded from https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe on 25th October 2017 (not sure what internal vesion is that)
  • page URL if this is a docs issue or the name of a man page
  • host distribution and version (Windows version, build number, etc)

Steps to reproduce the behavior

  1. Download mentioned installer
  2. Try to run in on mentioned Windows version

Ссылаться на:Win7 Установить Docker

Под системой Win7 настольный компьютер Docker был загружен с самого начала и обнаружил, что установка не удалась:

Поскольку Docker Desktop требует системы Win10, старая версия может установить только набор инструментов Docker.

Скачать набор инструментов:https://github.com/docker/toolbox/releases


После завершения установки получите ярлык и запустите ошибку напрямую: Windows ищет Bash.exe.

Решение: вручную настроить путь GIT:

D:Gitbinbash.exe --login -i "C:Program FilesDocker Toolboxstart.sh"


Запустить еще раз, все еще есть ошибки:

No default Boot2Docker ISO found locally…
error with pre-create check

Решение: скачать Boot2docker:
https://github.com/boot2docker/boot2docker/releases
прибыть%HOMEPATH%.dockermachinecache

Моя:C:UsersAdministrator.dockermachinecache


войти$ docker run hello-world, См. Следующую информацию, укажите нормальную работу:

Окно ярлыков ящика для инструментов Docker не прост в использовании, и его нельзя скопировать и вставлено.

Решение: Star.sh можно запустить непосредственно в каталоге установки Docker:

Необходимо выполнить следующие шаги:

  • Установить Docker
  • Выполнить настройку общий папки в «Oracle VM VirtualBox» чтобы через нее обмениваться файлами с виртуальной машиной
  • Настроить окружение для запуска (включает в себя либо запуск и связывание контейнеров в ручную, либо автоматизацию данного процесса посредством использования docker-compose)

Установка Docker

  1. Проверить поддерживает ли компьютер виртуализацию с помощью программы.
  2. Установить Install Docker Toolbox
  3. Запустить «Docker Quickstart Terminal» из ярлыка на рабочем столе

Возможно при запуске будет ошибка:

Looks like something went wrong in step ?Looking for vboxmanage.exe?

  1. Для ее устранения необходимо установитьпереустановить VirtualBox
  2. После установки запустить командную строку («Windows» + «R» -> cmd)
  3. Выполнить команды:
docker -v

Это позволит узнать правильно ли установлен docker и какая версия используется.

docker-compose --version

Данная команда позволяет узнать какая версия docker-compose (утилита, позволяющая использовать мультиконтейнерные сборки) используется.

  1. Дополнительно стоит установить общую папку для обмена фалами между виртуальной машиной и компьютером.

Указанные в статье ссылки могут стать неактуальными, в связи с тем что прекращается поддержка Windows 7. Утилиты возможно придется искать в web архиве.

Настройка общей папки

  1. В проводнике Windows найти и запустить программу «Oracle VM VirtualBox»
  2. Для выбранной виртуальной машине (default по умолчанию) выбрать настройки, откроется окно:
  1. Выбрать раздел «Общие папки»:
  1. Нажать кнопку «Добавить новую общую папку».
  1. В открывшемся окне:
    • в поле «Путь к папке» указать месторасположение общей папки
    • в поле «Имя папки» указать краткое наименование («alias»), с его помощью будет осуществляться ссылка на папку в файле для docker-compose
    • установить флажок «Авто-подключение»
    • установить флажок «Создать постоянную папку»

Не стоит использовать кириллицу в пути, так как это может вызвать проблемы с доступом к файлам.

Настройка окружения для запуска проекта

«Ручной» запуск контейнеров
  1. Запустить командную строку
  2. Подготовить контейнер с php:
docker pull php:7.4-apache
  1. Проверка запуска скрипта php:
docker run --rm -v /SharedFolderName/PathToProject:/app php:7.4-apache php /app/someFile.php

Данная команда:

  • запускает контейнер php:7.4.2-apache, который следует удалить после выполнения (—rm)
  • перед запуском копирует содержимое папки SharedFolderName/PathToProject в папку /app виртуальной машины (вместо SharedFolderName следует использовать alias заданный в разделе «Настройка общей папки»).
  • после запуска запускает интерпритатор php с указанием выполнить файл /app/someFile.php.

Если в процессе запуска возникают ошибки, то стоит проверить правильность настроек общей папки.

Так же запрещено использоваться двоеточие («:») в случае задания абсолютного пути к копируемым файлам, так как данный символ служит для разделения параметров внутри маппинга (-v) файлов.

  1. Проверка выполнения запуска скрипта через браузер
docker run -v /SharedFolderName/PathToProject:/var/www/html -p 8080:80 php:7.4-apache

Может возникнуть ошибка вида (подробнее про нее в статье):

Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

Эту ошибку игнорируем, она не помешает. Если командная строка подвиснет, вернуть ее в нормальное состояние можно нажатием «Ctrl» + «C».

В Window 7 не удается достучаться до виртуальной машины через браузер по адресу: localhost:8080. Вместо него нужно использовать ip, использующийся docker, чтобы его узнать, выполнить:

docker-machine ip
<someIP>

К скриптам нужно обращаться: someIP:8080.

  1. Добавление расширений в работающий контейнер (при перезапуске контейнера все произведенные действия будут потеряны):
  • узнать id контейнера
docker ps

Выведет список запущенных контейнеров, в столбце «CONTAINER ID» будет указан ID контейнера, собранного из образа, указанного в столбце «IMAGE».

  • войти в контейнер
docker exec -i -t <ID> bash

Вместо <ID> используется идентификатор контейнера (можно использовать уникальную для всех контейнеров часть ID)

  • установить расширение (для примера pdo_mysql):
docker-php-ext-install pdo_mysql
  • активировать установленное расширение:
docker-php-ext-enable pdo_mysql
  • установка и активация mysqli:
docker-php-ext-install mysqli &amp;&amp; docker-php-ext-enable mysqli
  • перезапустить apache:
service apache2 reload
  • для выхода из контейнера:
exit
Запуск сохраненных инструкций для контейнера
  1. Для сохранения инструкций на постоянной основе создать файл с именем: Dockerfile
  2. Внутрь файла поместить строки:
FROM php:7.4-apache

RUN docker-php-ext-install pdo_mysql &amp;&amp; docker-php-ext-enable pdo_mysql
RUN docker-php-ext-install mysqli &amp;&amp; docker-php-ext-enable mysqli
  1. Выполнить:
docker build . -t server
  1. Запускать:
docker run -v /SharedFolderName/PathToProject:/var/www/html -p 8080:80 server
Остановка ранее запущенных контейнеров

Выполнить:

docker stop <ID>
Просмотр сообщений в запущенном контейнере

Выполнить:

docker logs <ID>
Создание связи между контейнерами

Будет рассмотрено на примере связи php c контейнером mysql

  1. Запустить контейнер mysql:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=pwd -e MYSQL_DATABASE=test -d mysql:5.7.25
  1. Создать связь между контейнерами:
  • через связь между контейнерами
docker run --link mysql -v /SharedFolderName/PathToProject:/var/www/html -p 8080:80 server

В контейнере server можно будет обращаться к mysql через указание имени сервера mysql:

<?php

$pPOD = new PDO( 'mysql:host=mysql;dbname=test', 'root', 'pwd');

?>
  • через создание сети

в этом случае следует дать контейнеру server имя (в примере srv)

docker run —name srv -v /SharedFolderName/PathToProject:/var/www/html -p 8080:80 server

создание сети:

docker network create -d bridge bridgeName

помещение контейнеров в сеть

docker network connect --alias MySqlAliasInBridge bridgeName mysql
docker network connect --alias ServerAliasInBridge bridgeName server

В случае задания alias по нему стоит обращаться, указывая в качестве имени сервера:

<?php

$pPOD = new PDO( 'mysql:host=MySqlAliasInBridge;dbname=test', 'root', 'pwd');

?>

Создание сборки контейнеров (рабочее окружение)

Создание окружения будет показано на примере следующей структуры папок

env Папка, в директории SharedFolderName/PathToProject, в которой сохраняется описание необходимого окружения
envmysql Будет использоваться для хранения данных БД (чтобы сохранялось состояние между запусками)
envphp Содержит файл Docker с инструкциями для сборки контейнера с php
code Содержит файлы проекта
типовая структура папки, содержащей описание рабочего окружения
  1. Создать файл docker-compose.yaml в папке env:
version: "3"

services:
  server:
    build: ./php
    ports:
      - "8088:80"
    volumes:
      - /SharedFolderName/PathToProject/code:/var/www/html
    depends_on:
     - mysql
  mysql:
    image: mysql:5.7.25
    volumes:
      - /SharedFolderName/PathToProject/env/mysql:/var/lib/mysql
    command: "--innodb_use_native_aio=0"
    environment:
      MYSQL_ROOT_PASSWORD: pwd
  1. Подготовить сборку к запуску
docker-compose build
  1. Запускать сборку с помощью:
docker-compose up -d

В процессе запуска необходимо проверить контейнер mysql на предмет содержания ошибок. В случае возникновения ошибки вида:

[ERROR] --initialize specified but the data directory has files in it. Aborting.

Данная ошибка означает, что в секции mysql была пропущена команда запрещающая использовать подсистему асинхронного ввода/вывода Linux (command: «—innodb_use_native_aio=0»).

  1. Для выключения использовать:
docker-compose down -v

-v — удаляет именованные директории

Finally — I was able to upgrade — and I believe this was/is related to all of your issues as well. Basically I had docker working. After a couple months of seeing the upgrade docker pop-up, I clicked it. It broke the installation and with great pain I was able to roll back and install the original version I had. I then foolishly went to upgrade docker again as I was having an issue with some images not working properly — doh, broke the docker again. I tried reinstalling three times and it would always get stuck at removing files. Googling around, someone mentioned are the files actually there. They were indeed there in C:Program FilesDockerDocker so I tried to run docker manually, it runs but shows red in system tray and states «Backend service is not installed».

I tried to find out how to install the Backend Service but that didnt work. I tried to install a couple more times, still no luck so what I believe fixed everything is:
1. Delete the Docker directory, if you get an error that some process is still using something in that directory make sure you dont have any other folder or files open within that directory. Make sure docker is stopped, e.g. right click the icon in the system tray and select quit docker.
2. After deletion — simply reinstall Docker.

Warning — this will definitely cause you to likely lose some of your settings so if anyone would like to comment as to which files might be backed up prior please fell free to do so!

Hopefully this might help others out.

answered Jan 11, 2018 at 15:33

JGlass's user avatar

JGlassJGlass

1,4272 gold badges12 silver badges25 bronze badges

4

I had the same issue, btw, I was installing Docker for the first time on my Win 10 pro machine. The culprit was

Controlled folder access

Windows new feature Controlled Folder Access for Ransomware protection was turned on and which was not allowing docker to create a short cut on desktop. After turning Controlled folder access ‘off’, I was able to install the docker. I think by unchecking ‘create desktop shortcut’ while installing docker should cause no problem as well, however, I have not tried it.

answered Mar 17, 2019 at 13:45

curious.netter's user avatar

Besides the other answer, I’ve seen people suggest a computer restart, running the installer as administrator and disabling the antivirus as well.

answered Jul 9, 2019 at 20:33

Alex Howez's user avatar

Alex HowezAlex Howez

561 silver badge9 bronze badges

If Docker is not installing on our pc, first update your pc and then try command to install Docker on your pc , I am sure that it will work. It is because of your OS Build number is small as compared to number for installing Docker. So by updating your pc , Build number will automatically increase. Before updating your pc, check your Build number by gong on Winver,and after updating your pc check your Build number.

answered Mar 24, 2021 at 4:20

Muhammad Sufyan's user avatar

2

Понравилась статья? Поделить с друзьями:
  • Django db utils programmingerror ошибка тип hstore не существует
  • Diskpart обнаружена ошибка при запуске com служб
  • Dishonored exe ошибка при запуске приложения 0xc0000906
  • Diacont глюкометр ошибка e u
  • Df885 ошибка рено лагуна 3