Open beadss opened 5 years ago
도커 네트워크 동작 방식(https://bluese05.tistory.com/15) 도커 데몬은 브릿지 모드인 컨테이너의 외부 요청에 대해 NAT, Port forwarding 등을 수행해주는 공유기라고 생각할 수 있음 공유기 아래의 기기들의 IP가 외부와는 연관이 없듯, 마찬가지로 컨테이너의 IP도 외부와 연관이 없음(도커 데몬이 있어서 외부랑도 잘 통신함)
https://docs.docker.com/compose/compose-file/compose-file-v2/#links
단순한 호스트명 등록을 의미함(/etc/hosts 에 등록되는건 아님)
http://이미지명(혹은 별칭):8080
식으로 사용 가능
https://stackoverflow.com/questions/35110146/can-anyone-explain-docker-sock/35110344 Docker daemon이 리스닝 하고 있는 소켓 그 자체로 별다른 의미는 없고, 컨테이너에서 도커 데몬에 API를 날려야할 때 사용함(컨테이너 목록 얻어오기 등)
docker-cloud/haproxy 에서는 원본 서버들을 자동으로 찾아내는데 쓰임(찾을 port 설정같은게 없는걸 보니, EXPOSE 된 모든 port를 검색 대상으로 하는듯) https://medium.com/@benoittellier3/automatic-load-balancing-for-your-docker-compose-services-aa6b96f20d20
docker 자동완성 기능 사용하기
mac 기준 팁(windows는 설치만 하면 기능 적용돼있음) docker 입문 시기에는 container 이름 등을 써야될때가 많은데, 매번 확인하기도, 따라치기도 힘듭니다.
아래 과정을 거치면 docker exec -it 까지 입력하고 탭 누르면 자동으로 나머지 글자가 완성됩니다.(혹은 후보군을 보여줌)
참고: https://blog.alexellis.io/docker-mac-bash-completion/
docker run에서 -i와 -t 옵션
개인적으로 뭔소린가 싶었어서, 나름대로 찾아본 내용을 공유합니다.
-i 옵션은 표준 입력을 받을지 여부입니다. 파이프라이닝이나 키보드 입력 등이 이에 해당됩니다.
-t 옵션은 가상 터미널을 제공할지 여부입니다.
-i와 -t가 조합되면, 가상 터미널로 표준 입력을 입력할 수 있게 됩니다.
-t 하나만 쓰여서는 아무런 의미가 없습니다.(터미널은 있는데 입력은 안되는 상황이므로)
-i는 홀로 쓰여도 의미가 있습니다. 파이프라이닝 등으로 터미널 없이 입력하는 기능이 존재하기 때문입니다.
-d는 -i -t와 함께 쓰일 수 없습니다. background에서 돌아가기 때문에, -i로 입력을 대기할수도, -t로 가상 터미널을 제공할수도 없습니다.
다만, background에서 돌아가는 상황에서도 docker exec 명령으로 -i -t 옵션을 사용할 수 있습니다.
ex)
docker ps 필터 사용 예제
docker compose down을 사용하면 필요 없는 예제입니다. 도커 이미지 기반으로 컨테이너를 셧다운 시키는 내용이구요. 이런 방식으로도 쓸 수 있다 정도로 보시면 되겠습니다. 그나저나 ancestor 필터 말고는 쓸일이 있을까 싶습니다 -_-ㅋ
질문
도커 컨테이너 IP 관련
도커 이미지 버전 관리
코드 관리 관련