Mac에서 Docker 환경을 구축 할 때 Docker-for-Mac과 DockerHub 등록이 최소 구성입니다.

소개



Qiita 첫 투고입니다.
Docker의 프로젝트에 처음 들어 환경 구축에 4시간에 걸쳐 빠진 곳이 있었기 때문에 MacOSX에서 가장 간단한 환경 구축 검증 결과의 자신의 메모입니다.
Vagrant의 환경에서의 프로젝트는 경험하고 있었습니다만, 프로세스나 localhost의 설정이나, VitualBox등에서의, Vagrant와 Docker간에 경쟁 관계의 에러가 나오는 것을 이번 알았습니다.
기본적으로는, 환경 구축시에 사용한, 커멘드와 Docker의 공식 문서의 내용이므로, DockerFile, docker-compose.yml, docker-entrypoint.sh의 작성 방법에 대해서는 언급하지 않습니다.

환경 정보




환경
버전


Docker-for-Mac
18.03.1-ce-mac65




docker, docker-compose, Docker-for-Mac, Docker Toolbox, docker-machine 등이 있지만, 어느 것을 사용하면 좋을까?



Docker-for-Mac vs Docker Toolbox 라는 선택이 되는 것이 일반적이라고 생각합니다.
위의 공식 문서 기사에 따르면 Docker-for-Mac은 docker-machine에 영향을주지 않습니다. Docker-for-Mac과 Docker Toolbox는 공존할 수 있다. 그리고 공존은 세밀한 설정이 필요합니다.
docker-machine은 VirtualBox에 가상 머신을 만들기 때문에 Vagrant와 Docker의 가상 머신이 VirtualBox 내에 혼재하면 경쟁합니다. ). 그러나 Docker-for-Mac과 Docker Hub 등록만의 구성이라면 VirtualBox에 가상 머신을 만들지 않기 때문에 그만큼 간단합니다. 나는 이번에 이것으로 사이트를 표시시키는 곳까지 갔습니다.

Docker 프로세스를 매우 깨끗하게 만드는 명령
$ docker kill $(docker ps -aq)
$ docker rm $(docker ps -aq)
$ docker rmi $(docker images -f "dangling=true" -q)

$ docker ps
$ docker ps -a
$ docker images
$ docker-compose ps

Docker에서 80 번으로 포트 매핑했을 때 발생한 오류 (참고 링크)

따라서 이번에는 채용하지 않았습니다. 사내에서도, 지금까지의 프로젝트의 전체 Docker화등도, 구상으로서 있어, Vagrant의 프로젝트의 GitHub로부터 Fork해 원 프로젝트에 영향이 없도록 Docker화하려고 생각하고 있습니다.

환경 구축



Docker에서 환경이 완성 된 것을 로컬 환경으로 떨어 뜨리면
$ docker-compose build
$ docker-compose up

그래서 끝나야하지만 잘 가지 않고 빠진 것은
$ docker ps 

했을 때 확인할 수 있었는데, 같은 로컬 호스트의 포트 해방을 Docker Hub의 샘플 코드로 사용하고 있었기 때문입니다.
그래서, 위의 Docker로 80번에 포트 매핑했을 때에 일어난 에러에 대해서(참고 링크)의 기사와 같이
httpd의 80번 포트를 멈추고, 낡은 더 이상 사용하지 않는 image는 삭제해, 또 사용하고 싶을 때는, 그 때마다 이미지 작성, 컨테이너 작성을 하면 좋다고 판단했습니다.

docker-compose 명령 요약 부터 인용

docker-compose.yml에 작성된 서비스를 참조하여 컨테이너를 중지하고 컨테이너와 네트워크를 삭제합니다. 옵션으로 --rmi all을 붙이는 것으로 이미지도 삭제해 줍니다.
$ docker-compose down --rmi all

위의 명령을 터미널에서 실행 한 다음 build,up
시작하는 컨테이너의 서버가 error(address already in use)가 되지 않고, rails, sql 모두
서버가 일어나서 완성됩니다.

docker-compose up하고, 서버가 done이 되어 있으면, ssh 접속등 하지 않아도, 그대로
로컬 환경이 localhost에서 시작되었습니다.

참고 사이트



Docker-for-Mac vs Docker Toolbox
Docker에서 80번으로 포트 매핑했을 때 발생한 오류에 대해
docker-compose 명령 요약
오픈 소스의 간반식 관리 툴을 3개 정도 시험해 보았다

좋은 웹페이지 즐겨찾기