도커 명령어 및 설명
기본 도커 명령어
docker pull [이미지 파일]
: 이미지 파일 다운로드docker rmi [이미지 파일]
: 이미지 파일 삭제 (해당 이미지가 컨테이너에서 실행 중이면 안됨)
도커 실행 명령어
docker run -it -p [호스트 포트]:[컨테이너 포트] --name=[서비스 이름] [사용할 이미지]: 도커 이미지 실행
도커 정보 관련 명령어
docker info
: 도커 정보 보기docker search [이미지 파일]
: 이미지 파일 검색docker images
: 다운로드한 이미지 확인docker ps
: 실행 중인 컨테이너 확인docker inspect [서비스 이름 or 해시값]
: 서비스 중인 컨테이너의 상태를 확인
도커 시작 및 정지 명령어
docker start [서비스 이름]
: 서비스 시작docker stop [서비스 이름]
: 서비스 멈춤
컨테이너 관리 명령어
docker rm [서비스 이름 or 해시값]
: 컨테이너 삭제 (삭제 전에 stop 명령으로 해당 컨테이너가 실행되지 않고 있어야 함)docker exec -it [서비스 이름 or 해시값] bash
: 서비스에 직접 쉘로 접속함
도커허브에 내 이미지 업로드
docker login
: 도커허브에 로그인docker commit -a "[유저이름]" [저장할 이미지 이름]:[태그 이름(버전 정보)]
docker tag [2번에서 만든 이름:태그] [유저이름/이름:태그]
docker push [3번에서 만든 이름:태그]
웹 로그 확인 방법
docker logs [서비스 이름]
도커 볼륨 관리 명령어
docker volume create [볼륨 이름]
: 볼륨 생성docker volume ls
: 만들어진 볼륨 확인docker volume rm [볼륨 이름]
: 볼륨 삭제 (볼륨이 연결된 서비스가 실행되고 있으면 안됨)
볼륨 연결 방법
docker run -itd -p 80:80 --name=webapp -v vol_test1:/var/log nginx
[볼륨 이름]:[볼륨에 저장될 디렉터리]
볼륨에 데이터베이스 연동 방법
- 볼륨 생성
- 연동과 동시에 컨테이너 생성:
docker run -itd --name=[이름] -e MYSQL_ROOT_PASSWORD=[루트 비밀번호] -e MYSQL_DATABASE=[db 이름] -v [만들어 둔 볼륨 이름]:/var/lib/mysql mysql:5.7
컨테이너의 네트워크
docker network ls
: 컨테이너 네트워크 확인docker network create [네트워크 이름]
: 새로운 네트워크 생성
컨테이너를 생성할 때 --net
옵션을 사용하여 다른 네트워크 대역으로 설정 가능. 예를 들면:
docker run ~~~ --net=[새로 만든 네트워크 이름]
볼륨을 이용한 웹 페이지 변경
컨테이너의 웹 페이지 디렉터리를 호스트 피시의 지정 디렉터리와 마운트해주면 쉘에 접속하지 않고도 웹 페이지 변경이 가능합니다.
컨테이너를 생성할 때 -v
옵션을 사용합니다.
-v [호스트 피시의 디렉터리]:[컨테이너의 웹페이지 디렉터리]
도커 파일
도커 파일(Dockerfile)은 도커 컨테이너 이미지에서 실행시킬 정보를 정의하는 파일입니다. 도커 파일은 FROM, RUN, COPY, EXPOSE, CMD 등의 명령어로 구성됩니다.
도커 파일 생성시 이름은 Dockerfile로 해야합니다.
도커 파일 기본 명령어
FROM
: 도커허브에서 가져올 이미지 이름과 버전 정보를 명시RUN
: FROM에서 가져온 이미지에 명령어를 실행COPY
: 호스트에 있는 파일을 이미지에 추가EXPOSE
: 호스트와 연결할 포트 번호 설정 (포트 포워딩)CMD
: 컨테이너가 시작될 때 한 번 실행될 명령어
도커 파일 빌드
docker build -t [이름:태그] [Dockerfile 경로]
도커 컴포즈
도커 컴포즈를 사용하면 여러 개의 컨테이너를 빠르고 쉽게 관리할 수 있습니다.
- docker-compose.yml 파일을 생성합니다.
- 사용하고자 하는 서비스의 컴포즈 파일 내용을 그대로 작성합니다.
docker-compose up -d
명령어를 사용하여 컨테이너를 실행합니다.up
: docker-compose.yml 파일을 가져와 실행하는 옵션-d
: 백그라운드에서 실행
'Computer Science' 카테고리의 다른 글
[네트워크] Wireshark를 통해 TCP/UDP 패킷 알아보기 (0) | 2023.07.22 |
---|---|
메모리 정리 (0) | 2023.06.18 |
알고리즘 정리 (0) | 2023.06.18 |