가상화 기술(하나의 HW를 SW적으로 분할하여 마치 여러개의 독립된 HW에서 동작시키는것과 같이 리소스를 공유하는 기술)의 하나로, 컨테이너 단위로 구동되고, 컨터이너(SW적으로 분리된 독립된 공간) 안에 OS에서부터 application Layer까지 stack 형식으로 쌓아 올림으로써, 필요한 구성요소를 손쉽게 다운로드/실행하는 방식으로 동작시키는 기술이다.
목차
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A. 도커 기본 명령어 1. 버전 확인 2. 이미지 확인 3. 컨테이너 목록 확인 4. 컨테이너 구동 5. 컨테이너 IP 확인 6. 컨테이너 종료 7. 컨테이너/이미지 삭제 8. 컨테이너 내부 접속 9. 컨테이너/Host간 파일 복사 10. 도커 이미지 빌드 11. 도커 run 명령어 옵션
B. Dockerfile
C. Docker 실행(쉘로 관리)
도커 기본 명령어
버전확인
1
docker -v
도커 이미지 목록
1
docker images
도커 컨테이너 목록
1
docker ps -a
컨테이너 구동
1
docker run --rm --publish 8001:80 -it nginx
컨테이너 ip/port 확인
1 2
docker exec CONTAINER_ID ipaddr show eth0 docker port 도커ID
컨테이너 종료
1
docker stop 컨테이너ID(5555b7dd1385)
도커 컨테이너 모두 삭제, 이미지 삭제
1 2 3 4 5 6 7 8 9 10
- 컨테이너 하나 삭제 docker rm 컨테이너ID - 권한 없어서 전체삭제는 안됨? docker rm $(dockerps -a -q) - 이미지 삭제 docker rmi [이미지명] - dangling image remove 1) docker rmi -f $(dockerimages -f"dangling=true" -q) 2) docker image prune (docker api 1.25이상 지원, -a를 붙이면 전체삭제함으로주의!(-a없이 사용하자))
docker run -e "SPRING_PROFILES_ACTIVE=dev" -p 8080:8080 -t springio/gs-spring-boot-docker
도커 run 명령어 주요 옵션
1 2 3 4 5 6 7 8 9 10
14)도커 run 명령어 상세 docker run -d -i -t -p 9001:9001 nginx_microsvc:latest docker run <옵션> <이미지 이름, ID> <명령> <매개 변수> -d: --detach=false: Detached 모드입니다. 보통 데몬 모드라고 부르며 컨테이너가 백그라운드로 실행됩니다. -i: --interactive=false: 표준 입력(stdin)을 활성화하며 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지합니다. 보통 이 옵션을 사용하여 Bash에 명령을 입력합니다 -t: --tty=false: TTY 모드(pseudo-TTY)를 사용합니다. Bash를 사용하려면 이 옵션을 설정해야 합니다. 이 옵션을 설정하지 않으면 명령을 입력할 수는 있지만 셸이 표시되지 않습니다. -p: --publish=[]: 호스트에 연결된 컨테이너의 특정 포트를 외부에 노출합니다. 보통 웹 서버의 포트를 노출할 때 주로 사용합니다.
Dockerfile
dockerfile CMD 명령어
CMD [“nginx”, “-g”, “daemon off;”]
CMD [“<실행 파일>”, “<매개 변수1>”, “<매개 변수2>”]
셸 없이 바로 실행할 때 매개 변수 설정하기 : daemon off : nginx.conf에 daemon off;로 설정했으므로 Nginx 웹 서버를 foreground로 실행합니다.