Я пытаюсь установить Docker как часть настройки виртуальной машины через vagrant. Я добавил в файл vagrant следующее:

  # Install Docker: 
  config.vm.provision :shell, path: "./shared_directory/install_scripts/install_docker.sh"

где install_docker.sh :

echo "-------Try to install docker---------"

cd ~
sudo su -

apt-get update
apt-get install apt-transport-https  ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
echo "Y" | apt-get install docker-ce 

Используя инструкции, приведенные здесь. Следует отметить, что когда я использую эту виртуальную машину (независимо от того, вызываю ли я свой install_docker.sh ), если я использую эти команды внутри виртуальной машины (например, копируя и вставляя их из файла оболочки), Docker успешно устанавливается.

Когда я пытаюсь сделать это с помощью Vagrantfile и сценария оболочки (через vagrant up), я получаю следующее:

default: -------Try to install docker--------- default: Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease default: Hit:2 http://ppa.launchpad.net/webupd8team/java/ubuntu trusty InRelease default: Hit:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease default: Hit:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease default: Hit:5 http://security.ubuntu.com/ubuntu xenial-security InRelease default: Reading package lists... default: Reading package lists... default: Building dependency tree... default: Reading state information... default: apt-transport-https is already the newest version (1.2.26). default: ca-certificates is already the newest version (20170717~16.04.1). default: curl is already the newest version (7.47.0-1ubuntu2.7). default: software-properties-common is already the newest version (0.96.20.7). default: 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. default: OK default: pub 4096R/0EBFCD88 2017-02-22 default: Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 default: uid Docker Release (CE deb) <docker@docker.com> default: sub 4096R/F273FCD8 2017-02-22 default: Reading package lists... default: Building dependency tree... default: Reading state information... default: Package docker-ce is not available, but is referred to by another package. default: This may mean that the package is missing, has been obsoleted, or default: is only available from another source default: E default: : default: Package 'docker-ce' has no installation candidate

Что я должен сделать, чтобы убедиться, что Docker установлен при настройке виртуальной машины?

1 ответ1

1

Похоже, что вы также должны apt-get update после добавления репозитория (последние 2 строки вашего скрипта).

Установить Docker CE

  1. Обновите индекс пакета apt.

    $ sudo apt-get update
    
  2. Установите последнюю версию Docker CE (...)

    $ sudo apt-get install docker-ce
    

Итак, вы можете попробовать изменить последние строки вашего скрипта на:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
echo "Y" | apt-get install docker-ce

Вы также можете попробовать изменить последнюю строку на:

apt-get -y install docker-ce

Хотя я не знаю, будет ли это иметь значение.

Если все не удается, есть сценарий, доступный на этой странице в разделе « Установка с использованием вспомогательного сценария », если только вы не можете / не хотите его использовать.

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