vagrantfileを介したインストール中のVMへのdockerのインストール


0

vagrantを介してVMのセットアップの一部としてDockerをインストールしようとしています。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 

ここで提供される指示を使用します。このVMの作成(を呼び出すかどうかに関係なく)を使用するときにinstall_docker.sh、VM内でこれらのコマンドを使用すると(シェルファイルからコピーアンドペーストするなど)、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

VMのセットアップ時にDockerがインストールされていることを確認するにはどうすればよいですか?

回答:


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

違いがあるかどうかはわかりませんが。

すべてが失敗した場合、「便利なスクリプトを使用してインストール」セクションに、使用できない/使用したくない場合を除き、そのページの下に利用可能なスクリプトがあります。


私の問題はsudo apt-get update二度目ではなかったようです 。あなたが提案echo "Y" | apt-get install docker-ceしたようapt-get -y install docker-ceに、と置き換える必要はありませんでした。
ラファイエット

私が得た:E: Unable to locate package docker-ce
スノークラッシュ

@Snowcrashは最初にdockerのリポジトリを追加します!詳細はOPの2番目のコードスニペットにあり、公式ドキュメントへのリンクはすぐ下にあります。これらの詳細な手順を
yahol

convenience script:で失敗sh get-docker.sh # Executing docker install script, commit: 36b78b2 + sh -c echo "deb http://ftp.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list + sh -c apt-get update -qq >/dev/null W: GPG error: http://ftp.debian.org wheezy-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
Snowcrash

@Snowcrash提供されているリンクの下の指示に従いましたか?Dockerの公式GPGキーを追加する必要があります。ここで詳しく説明します。そこで行ったすべてが失敗した場合、この時点でStackExchangeで新しい質問をする必要があると思います。
ヤホール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.