Step it up now

docker(특징, 명령어 정리) 본문

개인공부/aws, docker

docker(특징, 명령어 정리)

케잉 2024. 1. 15. 16:11

다른 머신에서도 같은 환경을 구현할수 있다
예를 들면 내 컴퓨터: 윈도우 / 서버: 리눅스

1. 도커 위에서 돌아가는 컨테이너 
 컨테이너 안에 동작하는 앱들 - 리눅스 운영체제에서 동작하는 앱들이다 

2. 운영체제가 리눅스 아니어도 도커 사용가능
(가상머신에 리눅스 운영체제 깔면 가능) 

3. 가상머신 설치하면 속도저하가 있음

 

 


 

 

📢 명령어 정리 

 

 


image: docker hub에서 찾아 다운 받은것 (pull)
container: image를 실행하는 것 (run)

이미지도 여러개의 컨테이너 갖을 수 있다

이미지 만들때 태그 붙임 - 버전확인하려고(태그에 시간을 붙인다)  

 


docker images  - 잘 다운 받았는지 확인하는 명령어
docker run  - 컨테이너 만들 때
docker ps  - 설치한 컨테이너를 보고싶을때 

docker run name ws2 httpd   - 새 컨테이너 ws2 만듦
docker stop ws2[컨테이너 이름,아이디]  - 컨테이너 끄기
docker ps -a   - 스탑했던 컨테이너도 보임. 스탑했다고 삭제한게 아님 
docker start ws2  - 중지시켰던 컨테이너 다시 켜짐 
docker logs ws2  - 로그 출력 
docker logs -f ws2   -실시간 로그 확인

컨테이너 삭제하려면
docker stop ws2   - 중단하고
docker rm ws2[컨테이너 이름]  - 컨테이너 삭제(우선 중단해야함)

docker rm --force 컨테이너 이름  - 중단하지 않고도 삭제 가능 

docker rmi httpd  - 이미지 삭제 

 

 

 

도커를 이용하면 웹서버가 컨테이너에 설치된다

컨테이너가 설치된 운영체제 - docker host 

컨테이너와 호스트는 별도의 포트와 파일 시스템을 가짐 
docker run -p 80:80 httpd


docker exec ws3 /bin/sh (cf.shell임, 요즘은 bash를 쓴다)
shell  - 사용자가 입력한 명령을 shell프로그램이 받아서 운영체제에 전달해주는 프로그램
docker exec -it ws3 /bin/sh 엔터 치면 # 이 나오는데 
ws3 컨테이너 대상으로 내리는 명령이라는 것

exit - ws3컨테이너에서 나와서 host를 대상으로 내리는 명령 

 

 

 


 

 


파일 시스템끼리 서로 연결하여

실행환경은 컨테이너에 맡기고 파일 수정 작업은 host에서 진행하는 방법

 

 

※ 이 방식의 장점은? 

--> 호스트에서 파일 수정, 노출됨
--> 그래서 호스트안에서 파일버전 관리, 백업 수행, 에디터 코드 편집 등 가능 

 

 

 

※ 방법 

 

에디터 열고(vs코드 등) htdocs 폴더에 index.html 파일 만든 후 

 

예시) docker run -p 8888:80 -v ~/Desktop/htdcs:/usr/local/appache2/htdocs/ httpd
① 8888번과 컨테이너 80번 연결 
② -v(볼륨) 
③ 데스크탑 아래 htdcs와 컨 테이너 안에서 usr local httpd 디렉토리를 연결 

'개인공부 > aws, docker' 카테고리의 다른 글

리눅스 명령어  (2) 2024.01.11