Docker 관련으로 된 글을 보던중 Vagrant를 알게 되어 Vagrant를 설치하게 되었다. Vagrant에 대한 설치는 도커 Docker 기초 확실히 다지기 이 글을 보고 Vagrant를 설치했다. 그러나 Vagrant를 설치 및 운영하다 보면 이슈사항이 나올것 같아서 개인 기록 및 공유 차원에서 이 글에 기록해두고자 한다. 그래서 이 글은 그런 이슈 사항이 나올때마다 갱신될 예정이다(근데 Vagrant 이건 발음이 어떻게 되나..베이그랜트? 바그랜트?)


1. Windows 10에서 위에 링크되어 있는 글을 보고 설치한뒤 centos/7 으로 VM을 하나 만들어서 vagrant ssh를 실행하니 vagrant@127.0.0.1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 에러가 발생하면서 ssh에 대한 접속이 이루어지지 않았다. 이것에 대해 검색해보니 환경변수로 VAGRANT_PREFER_SYSTEM_BIN을 만든 뒤 이 변수에 값을 0을 주면 해결이 된다고 해서 이 방법을 써서 해결이 되었다. VAGRANT_PREFER_SYSTEM_BIN 환경변수가 궁금한 사람은 여기를 클릭해서 보면 된다.


2. 1번의 문제를 해결한뒤 ssh를 접속해보니 vagrant 란 계정을 디폴트로 만든뒤에 이 계정으로 접속이 되었다. 그러나 root 계정이 아니기 때문에 yum 명령을 이용해서 프로그램을 설치할려면 sudo 명령을 같이 써야 한다(ex: sudo yum ...) 이것이 불편해서 root 계정의 패스워드가 무엇인지 찾아봤는데 기본적으로 root 계정의 패스워드는 vagrant로 설정하고 있다. 그러나 현재는 Vagrantfile에서 root 계정의 패스워드를 설정하는 방법을 찾지는 못한 상황이다. VM을 만드는 시점에 root 계정의 패스워드를 지정하면 편할텐데 아직은 모르겠다.


3. Windows 10에서 Vagrant를 설치하니 Vagrant에서 box로 통하는 이미지들(docker로 하다보니 용어가 이미지로 되어버렸다)은 받아지는 위치의 기준이 C:\Users\사용자 계정\.vagrant.d 이 디렉토리 밑에 boxes라는 디렉토리에 받아지고 있었다. .vagrant.d 디렉토리가 Vagrant의 Home 디렉토리 역할을 하고 있다. 이 Home 설정 개념이 Java나 Maven과는 약간 다른데 Java나 Maven의 경우 JAVA_HOME과 MAVEN_HOME은 Java나 Maven이 설치된 디렉토리를 가르켜야 하지만 Vagrant의 경우는 그렇지가 않다(실제로 나는 Vagrant를 D:\Vagrant에 설치했다) 이 이미지를 받는 디렉토리가 C 드라이브에 있을 경우 C 드라이브 용량이 작아지는 상황이 벌어질수 있어서 위치를 바꾸었다. 위치르 바꿀때는 환경변수로 VAGRANT_HOME에 지정하면 된다(나는 VAGRANT_HOME을 D:\Vagrant_VMS\.vagrant.d 로 지정했다) 이때 주의점이 있다. VAGRANT_HOME에 매핑되는 디렉토리를 Vagrant가 설치된 디렉토리(나의 경우로 예를 들면 D:\Vagrant 가 된다)의 하위 디렉토리로 설정하면 안된다. Vagrant를 설치하면 Vagrant가 설치된 디렉토리는 일반 계정으로는 접근이 안되기 때문에 읽거나 쓰지 못하는 상황이 벌어져서 이미지를 다운로드 받지 못하게 된다. 그래서 위에서 언급한 설정으로 Vagrant 설치 디렉토리가 아닌 D:\Vagrant_VMS\.vagrant.d로 지정했다.


트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

다른 카테고리의 글 목록

프로그래밍/기타 카테고리의 포스트 목록을 보여줍니다