====== 도커 Docker ======
* description : 도커관련 유용한 지식 모음
* author : 주레피
* email : dhan@repia.com
* lastupdate : 2023-03-25
===== 도커란 =====
* [[https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html|도커란 무엇인가?]]
* [[https://www.opentutorials.org/course/128/8657 | 생활 코딩 Docker]] 강의
===== 설치 =====
[[wiki:3party:docker:우분투에서 도커 설치|우분투에서 도커 설치]] \\
[[wiki:3party:docker:CentOS에서 도커 설치|CentOS에서 도커 설치]] \\
===== 기본 명령어 =====
* docker pull [image]
* dockerhub에서 이미지를 받음
* docker images
* 다운 받은 도커 이미지 확인
* docker run [option] [image]
* 컨테이너 등록과 실행 중인지 확인
* 기본적으로 pull 실행이 같이 됨
* docker ps [option]
* 컨테이너 리스트 확인
* docker rm [id|name]
* 컨테이터 삭제하기
* ex1) docker rm competent_perlman
* ex2) docker rm e56af772c419
* docker rmi [image]
* 이미지 삭제하기
* ex) docker rmi hello-world
* docker start [container]
* 컨테이너 실행하기
* ex) docker start hello-world
* run은 pull + start, 즉, container를 생성하고 해당 컨테이너에 문제가 없으면 바로 start가 실행됨
* start는 생성된 container가 stop상태일 때 실행시키는 역할
* docker stop [container]
* 컨테이너의 서비스 중지
* ex) docker stop hello-world
* start는 running 상태의 docker container를 중지시킴
* docker exec -it [container] bash
* 컨테이너 내부로 진입
* ex) docker exec hello-world bash
* 호스트 - 컨테이너 사이 파일 복사 (scp와 매우 유사)
$> sudo docker cp [host 파일경로] [container name]:[container 내부 경로]
* [[https://www.leafcats.com/163|docker cp - 호스트 컨테이너 사이 파일 복사]]
* [[https://nyeongnyeong.tistory.com/269|[Docker] docker inspect]]
===== 네트워킹 =====
* [[https://www.daleseo.com/docker-networks/|Docker 네트워크 사용법]]
* [[https://algo79.tistory.com/entry/docker-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%B6%94%EA%B0%80-%ED%95%98%EA%B8%B0|docker 네트워크 추가 하기]]
* [[https://hnsuk.tistory.com/m/49|[WSL2] Docker container 원격 접속]]
===== Case Study =====
[[wiki:3party:docker:마리아DB 설치|마리아DB 설치(도커)]] \\
[[wiki:3party:docker:리눅스 설치|리눅스 설치(도커)]]
===== Tip =====
* [[https://eyeballs.tistory.com/49|[Docker] Docker container 바깥에서 명령 내리기]]
* [[https://itholic.github.io/docker-copy/|[Docker] 도커 파일 복사 (로컬 <-> 컨테이너)]]
* [[https://oboki.net/workspace/system/docker/docker-%EC%8B%A4%ED%96%89-%EC%A4%91%EC%9D%B8-container%EC%97%90-%ED%8F%AC%ED%8A%B8-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0/|[Docker] 실행 중인 Container에 포트 추가하기]]
* [[https://medium.com/sjk5766/%EC%8B%A4%ED%96%89%EC%A4%91%EC%9D%B8-container%EC%97%90-port-or-volume-%EC%B6%94%EA%B0%80-ae8889344c68|실행중인 container에 port or volume 추가]]
* 현재 상태를 이미지로 만들고 이미지를 다시 실행(포트 추가해서)
===== Troubleshooting =====
[[https://blog.dalso.org/it/12587|Docker: Error Response From Daemon: Lstat /Var/Lib/Docker/Overlay2/ : No Such File Or Directory.]]
===== Ref =====
* [[https://docs.docker.com/engine/reference/commandline/network_create/|docker network create(Official Site)]]
* [[https://firework-ham.tistory.com/105|[Docker] Window Docker mariadb 설치하기]]
* [[https://conservative-vector.tistory.com/entry/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4%EC%99%80-%EB%8F%84%EC%BB%A4%EC%9D%98-%EC%B0%A8%EC%9D%B4|쿠버네티스와 도커의 차이]]
* [[https://hwan-shell.tistory.com/178|[도커] Windows 10에서 도커로 우분투 설치하기]]
* [[https://hwan-shell.tistory.com/183?category=858112|[도커] 외부에서 도커 컨테이너의 웹페이지에 접근하는 방법]]
* [[https://24hours-beginner.tistory.com/235|[Docker] 도커 설치 / 컨테이너 실행/중지 (ubuntu)]]
* [[https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose#%EB%8F%84%EC%BB%A4-%EC%BB%B4%ED%8F%AC%EC%A6%88%EC%9D%98-%EC%A3%BC%EC%9A%94-%EB%AA%85%EB%A0%B9%EC%96%B4|도커 컴포즈를 활용하여 완벽한 개발 환경 구성하기]]
* [[https://javacan.tistory.com/entry/docker-start-2-running-container|도커 시작하기 2 : 컨테이너 실행하기]]
{{tag>주레피 도봉산핵주먹 eleven docker 도커 heon}}