質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • Linux

    4435questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3138questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Vagrant

    1386questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • VirtualBox

    900questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

  • SSH

    683questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

vagrant port8000は使用中というエラーが

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 803

roronoazoro

score 61

下記サイトを参考に進めております。
現在Ansibleの学習を進めており、環境構築の導入の部分でつまづいています。
長文でもうしわけないでエラー内容とVagrantfileを記載いたします。
質問としては、下記Vagrantfileの内容でupするとport8000は使用中といったエラーを返されてしまいます。
一応VirtualBoxを立ち上げて他に立ち上がっているのがないか確認もしました。
この場合のport8000エラーはどうすればいいでしょうか?

随時試したことは追記していくつもりです。
よろしくお願いします。

$ vagrant up

#エラー内容
Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 8000 is already in use
on the host machine.

To fix this, modify your current project's Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique host port:

  config.vm.network :forwarded_port, guest: 80, host: 1234

Sometimes, Vagrant will attempt to auto-correct this for you. In this
case, Vagrant was unable to. This is usually because the guest machine
is in a state which doesn't allow modifying port forwarding. You could
try 'vagrant reload' (equivalent of running a halt followed by an up)
so vagrant can attempt to auto-correct this upon booting. Be warned
that any unsaved work might be lost.
~/Google ドライブ/FELICA/Owlcamp/Ansible/

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|

    config.vm.define :node1 do |node|
        node.vm.box = "bento/centos-7.3"
        node.vm.network :forwarded_port, guest: 22, host: 2001, id: "ssh"
        node.vm.network :private_network, ip: "192.168.33.11"
    end

    config.vm.define :node2 do |node|
        node.vm.box = "bento/centos-7.3"
        node.vm.network :forwarded_port, guest: 22, host: 2002, id: "ssh"
        node.vm.network :forwarded_port, guest: 80, host: 8000, id: "http"
        node.vm.network :private_network, ip: "192.168.33.12"
    end
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "bento/centos-7.3"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Enable provisioning with a shell script. Additional provisioners such as
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end

Ansible Tutorial

8/15追記

$ sudo netstat -an | grep LISTEN

tcp4       0      0  *.2001                 *.*                    LISTEN     
tcp46      0      0  *.1110                 *.*                    LISTEN     
tcp4       0      0  *.1110                 *.*                    LISTEN     
tcp4       0      0  127.0.0.1.9999         *.*                    LISTEN     
tcp4       0      0  127.0.0.1.17603        *.*                    LISTEN     
tcp4       0      0  127.0.0.1.17600        *.*                    LISTEN     
tcp4       0      0  *.17500                *.*                    LISTEN     
tcp6       0      0  *.17500                *.*                    LISTEN     
tcp4       0      0  127.0.0.1.15292        *.*                    LISTEN 

$ ps -ef | grep vagrant
501 42324 41619   0  9:55PM ttys000    0:00.00 grep vagrant
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

sudo netstat -an | grep LISTEN 


すると8000番ポートが何かに使われているのが分かると思います。

8000ポートを使っているプロセスが特定できなければ、
エラーメッセージにあるように1234ポート(上記のLISTENしているポート以外の番号)を空けてみてください。

To fix this, modify your current project's Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique host port:

  config.vm.network :forwarded_port, guest: 80, host: 1234

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/08/15 20:58

    ご回答ありがとうございます。本文下にsudo netstat -an | grep LISTEN の実行結果を追記しました。8000は使われていないかと思われます。
    質問なのですが、自分がVagrantfileに記載しているポートでは、node2の80部分のみかぶっているだけのように思えるのですが、1234はスルーして大丈夫でしょうか?
    またポートは任意の数字で大丈夫なのでしょうか?
    すみませんがよろしくお願いします。

    キャンセル

  • 2017/08/15 21:41

    http://net-vacation.com/blog/archives/7615
    とか
    http://qiita.com/kangyoosam/items/0506739733d97aa8636d
    を見る限り
    いずれもvagrant upを2回しているように思えるのですが、
    ps -ef | grep vagrant
    でvagrantが既に起動していないでしょうか?

    キャンセル

  • 2017/08/15 21:57

    ありがとうございます。
    一応、VM VirtualBoxマネージャーで電源オフというのは確認しているのですが。。
    ご指示いただきました結果が下記のようになりました。
    501 42324 41619 0 9:55PM ttys000 0:00.00 grep vagrant

    キャンセル

  • 2017/08/15 22:20

    すみません
    config.vm.network :forwarded_port, guest: 80, host: 1234
    ではなく
    node.vm.network :forwarded_port, guest: 80, host: 8000, id: "http"

    node.vm.network :forwarded_port, guest: 80, host: 1234, id: "http"
    にするとどうなりますか?
    ポート番号ですが、forwardedしているだけなので[1024~65535]の範囲であれば。
    8000とか8080はよく使われることがあります。

    キャンセル

  • 2017/08/15 22:38

    ありがとうございます。
    ご指示いただいた通り操作したところvagrant up成功しました。
    ポートの部分など認識が甘いのでこれから勉強指定いきたいと思います。
    遅くまでありがとうございました。

    キャンセル

同じタグがついた質問を見る

  • Linux

    4435questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3138questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Vagrant

    1386questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • VirtualBox

    900questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

  • SSH

    683questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。