본문 바로가기

개인공부

Docker 학습 복기

반응형

도커란?

웹 어플리케이션(서버, 데이터베이스 등)을 마치 각각의 가상 머신안에 실행시켜주는 것과 같은 환경을 제공함으로써 어떠한 개발 환경에서든 표준화된 작업 환경을 가질 수 있도록 해주는 것

아래는 참고로 chatGPT의 정의

도커를 사용하면 개발자는 운영체제(OS)나 하드웨어 환경에 구애받지 않고 개발한 애플리케이션을 여러 환경에서 실행시킬 수 있습니다. 도커는 리눅스 컨테이너 기술을 기반으로 하며, 컨테이너 안에는 애플리케이션과 그에 필요한 라이브러리, 운영체제 등이 포함됩니다.

도커의 구조

hub → image → container

도커의 명령어

아래 명령어에서 사용된 이미지는 httpd 아파치 서버 이미지이다.

초급

도커 설치후 이상 없는지 확인하는 명령어

docker images
// 여기서 에러가 없다면 ㅇㅋ

도커 이미지를 도커 허브에서 가져오는 명령어

docker pull 이미지이름

도커 이미지를 도커 컨테이너로 만드는 명령어

docker run 이미지이름

현재 실행 중인 도커 이미지를 보여주는 명령어

docker ps
//도커 중지 후의 도커 컨테이너는 아래의 명령어로 조회할 수 있음
docker ps -a

현재 실행 중인 컨테이너를 중지시키는 명령어 및 중지된 컨테이너를 다시 실행시키는 명령어

docker stop 컨테이너이름
docker start 컨테이너이름

중지된 컨테이너를 삭제하는 명령어

docker rm 컨테이너이름

이미지를 삭제하는 명령어

docker rmi 이미지이름

중급

httpd(아파치서버) 도커이미지에 ws2라는 이름을 붙이고 로컬포트8080을 컨테이너 80포트에 연결하도록 실행하는 명령어

docker run --name ws2 -p 8080:80 httpd

ws2라는 이름을 가진 컨테이너안에 ls 명령어를 실행시키는 명령어

docker exec ws2 ls

exec를 계속 안써도 컨테이너안에서 명령어를 사용할 수 있도록 하는 명령어

docker exec -it ws2 /bin/sh
docker exec -it ws2 /bin/bash 
//bash사용을 먼저 고려하고 bash가 없다면 
//sh사용을 고려해보는게 좋을듯

고급

데스크탑에서 htdocs라는 디렉토리를 생성 후 그 안에서 index.html 파일을 만들어서 수정하면 컨테이너안의 index.html을 수정하도록 만드는 명령어

반응형