티스토리 뷰
반응형
Docker
docker 설치 확인
docker version 명령어는 도커가 설치된 시스템에서 현재 도커의 버전을 확인하기 위해 사용됩니다.
이 명령어는 현재 시스템에 설치된 도커의 버전 정보를 반환합니다.
docker version
docker image 확인
docker images 명령어는 시스템에 설치된 도커 이미지 목록을 출력하기 위해 사용됩니다.
이 명령어는 현재 시스템에 설치되어 있는 도커 이미지 목록을 반환합니다.
docker images
image download / documents 사이트
https://hub.docker.com
https://docs.docker.com
Docker Documentation: How to Build, Share, and Run
docs.docker.com
Docker Hub Container Image Library | App Containerization
Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.
hub.docker.com
1. 이미지 pull
pull - 도커 가져오기
# Apache HTTP Server (httpd)
docker pull httpd
docker pull 명령어는 레파지토리에서 도커 이미지를 가져오기 위해 사용됩니다.
이 예제에서는 httpd 이미지가 Docker Hub 레파지토리에서 가져옵니다.
명령어를 실행하려면 docker pull httpd 를 사용하십시오.
이미지가 가져와지면 docker run 명령어를 실행하여 이미지로부터 컨테이너를 실행할 수 있습니다.
2. 컨테이너 run
run - 도커 실행하기
docker run httpd
docker run 명령어는 새로운 컨테이너를 생성하고 실행하기 위해 사용됩니다.
이 예제에서는 httpd 이미지로부터 컨테이너를 생성하고, 그 컨테이너를 실행합니다. 명령어는 docker run httpd 로 실행합니다.
ps - 만들어진 컨테이너 확인
docker ps [-a]
docker ps 명령어는 현재 시스템에서 실행 중인 도커 컨테이너 목록을 보여주기 위해 사용됩니다.
-a 옵션을 사용하면 모든 컨테이너(실행 중인 것 뿐 아니라 종료된 것도 포함)의 목록을 보여줍니다.
명령어는 docker ps [-a] 로 실행합니다.
run 새로운 컨테이너 생성
docker run --name ws2 httpd
docker run 명령어는 새로운 컨테이너를 생성하고 실행하기 위해 사용됩니다.
--name 플래그는 컨테이너에 이름을 지정하기 위해 사용되고, httpd 파라미터는 컨테이너에 사용할 이미지를 지정합니다.
명령어는 httpd 이미지로부터 이름이 ws2인 컨테이너를 생성하고, 그 컨테이너를 시작합니다.
실행 중인 컨테이너 중지
docker stop ws2
docker stop 명령어는 실행 중인 도커 컨테이너를 중지하기 위해 사용됩니다.
이 예제에서는 이름이 'ws2'인 컨테이너를 중지합니다. 명령어는 docker stop ws2 로 실행합니다.
이 명령어를 실행하면 컨테이너가 중지되고, 그 안에 실행 중인 프로세스가 종료됩니다.
중지된 컨테이너 실행
docker start ws2
# docker 실행 로그 확인
docker logs ws2
# docker 실행 로그 계속 모니터링
docker logs -f ws2
docker start 명령어는 중지된 도커 컨테이너를 다시 시작하기 위해 사용됩니다.
이 예제에서는 이름이 'ws2'인 컨테이너를 시작합니다. 명령어는 docker start ws2 로 실행합니다.
이 명령어를 실행하면 컨테이너가 시작되고, 그 안에 실행 중인 프로세스가 재개됩니다.
컨테이너 삭제
docker rm ws2
# 컨테이너 중지
docker stop ws2
# 컨테이너 삭제
docker rm ws2
docker rm 명령어는 도커 컨테이너를 삭제하기 위해 사용됩니다.
이 예제에서는 이름이 'ws2'인 컨테이너를 삭제합니다. 명령어는 docker rm ws2 로 실행합니다.
이 명령어를 실행하면 컨테이너가 삭제되고, 그 안에 실행 중인 프로세스가 중지됩니다.
이미지 삭제
docker rmi httpd
docker rmi 명령어는 도커 이미지를 삭제하기 위해 사용됩니다.
이 예제에서는 'httpd'라는 이름의 도커 이미지를 삭제합니다.
명령어는 docker rmi httpd 로 실행합니다.
이 명령어를 실행하면 이미지가 삭제되고, 도커 컨테이너가 실행되고 있더라도 이미지가 사용되지 않게 됩니다.
컨테이너 또는 이미지에 대한 정보
docker inspect ubuntu
docker inspect 명령어는 도커 컨테이너나 이미지의 메타데이터를 검색하기 위해 사용됩니다.
이 예제에서는 'ubuntu'라는 이름의 도커 컨테이너 또는 이미지의 메타데이터를 검색합니다.
명령어는 docker inspect ubuntu 로 실행합니다.
이 명령어를 실행하면 도커 엔진에 등록된 컨테이너 또는 이미지의 메타데이터가 출력됩니다.
3. 네트워크
host port 와 container port 연결
docker run --name ws3 -p 8081:80 httpd
docker run: Docker 컨테이너를 생성하고 실행하는 명령어입니다.
--name ws3: 생성할 컨테이너의 이름을 ws3으로 지정합니다.
-p 8081:80: 호스트 컴퓨터의 8081 포트를 컨테이너의 80 포트에 매핑(forwarding)합니다. 이는 웹 서버 애플리케이션을 호스트 컴퓨터의 8081 포트를 통해 접근할 수 있게 합니다.
httpd: 실행할 Docker 이미지의 이름입니다. 이 경우 httpd는 Apache HTTP 웹 서버 이미지입니다.
전체 명령어는 Docker 컨테이너를 생성하고 실행하며, 컨테이너 이름을 ws3으로 지정하고 호스트 컴퓨터의 8081 포트와 컨테이너의 80 포트를 매핑하여 Apache HTTP 웹 서버 애플리케이션을 실행하는 것입니다.
4. 명령어 실행
terminal 에서 컨테이너 내의 명령어 실행
docker exec ws3 pwd
# 계속해서 컨테이너 내의 명령어를 실행하기 위한 명령어
docker exec -it ws3 /bin/sh
docker exec -it ws3 /bin/bash # sh 보다 많이 사용
exit
docker exec: 실행 중인 Docker 컨테이너에서 명령어를 실행하는 명령어입니다.
ws3: 실행할 명령어의 대상이 되는 Docker 컨테이너의 이름입니다.
pwd: 실행할 명령어로, 현재 작업 디렉토리의 경로를 출력하는 pwd 명령어입니다.
전체 명령어는 실행 중인 Docker 컨테이너 ws3에서 pwd 명령어를 실행하여, 현재 작업 디렉토리의 경로를 출력하는 것입니다.
5. 호스트와 컨테이너의 파일시스템 연결
도커의 Container 와 로컬 디스크의 소스 연결
# 로컬 위치 (/Users/사용자폴더/Dev)와
# Container 웹서버 디렉토리 (/usr/local/apache2/htdocs/)와 연결
docker run -p 8888:80 -v /Users/사용자폴더/Dev:/usr/local/apache2/htdocs/ httpd
docker run: Docker 이미지를 새로운 컨테이너로 실행하는 명령어입니다.
-p 8888:80: 호스트의 8888 포트와 컨테이너의 80 포트를 매핑하는 옵션입니다. 즉, 호스트에서 8888 포트로 접근하면 컨테이너의 80 포트에 접근할 수 있게 됩니다.
-v /Users/사용자폴더/Dev:/usr/local/apache2/htdocs/: 호스트의 /Users/사용자폴더/Dev 디렉토리를 컨테이너의 /usr/local/apache2/htdocs/ 디렉토리에 마운트하는 옵션입니다. 즉, 호스트의
/Users/zrookiepro/Dev 디렉토리의 파일은 컨테이너에서 /usr/local/apache2/htdocs/ 로 접근할 수 있습니다.
httpd: 실행할 Docker 이미지 이름입니다.
반응형
'Dev > Etc.' 카테고리의 다른 글
[vscode - prettier] ugly formatting html (0) | 2023.11.17 |
---|---|
맥 터미널 Terminal 기본 명령어 (0) | 2023.02.16 |
맥 Xcode 저장공간 확보, 디스크 용량 확보, 디스크 정리 무료 프로그램 (0) | 2023.02.10 |
[Mac] 해피해킹 키보드 / 한영 변환 / ~ 물결 키 변경 (0) | 2023.02.10 |
[안드로이드스튜디오] One Dark Theme 추천 (0) | 2023.02.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Auto Formatting
- 날짜 시간 추출
- translaite
- Python
- 설치
- 기본
- M1
- Flutter
- 자질
- 플러터
- 창업지도사
- No Babel
- youChat
- 파이썬
- 플러터 오류
- 맥
- parsing error
- 사업기회포착
- 창업교육전문가
- 창업
- 기업가
- flutter doctor
- 가상환경
- 맥 실리콘
- conda
- homebrew
- 네이버실시간주식
- Format code on save
- 기업가 정신
- ChatGPT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함