Docker는 컨테이너화된 애플리케이션을 개발, 배포 및 실행하기 위한 오픈 소스 플랫폼입니다.
Docker를 설치하려면 다음과 같습니다.
OS는 Linux 기반 시스템을 대상으로 설치 하는 방법을 설명 합니다.
1. 패키지 관지라를 업데이트 합니다.
yum update |
2. docker 설치
yum install -y docker docker-ce docker-ce-cli containerd.io |
3. docker 버전 확인
docker --version |
버전 표시가 정상적으로 출력 되면 설치 성공 하였습니다.
4. docker 실행 명령어
systemctl start docker -> 도커 시작 systemctl enable docker -> 서버 부팅 될 시 도커 자동 시작 |
다음은 Docker를 실행방법은 다음과 같습니다.
Docker 이미지는 컨테이너 실행에 필요한 파일 시스템과 실행 환경을 포함하는 가볍고 독립적인 패키지입니다.
이미지는 Docker 컨테이너를 만들기 위한 템플릿이라고 생각할 수 있습니다.
1. Docker 이미지 검색
Docker Hub와 같은 공개 Docker 레지스트리에서 이미지를 검색하거나 개인적으로 구축한 이미지를 사용할 수 있습니다.
Docker Hub(https://hub.docker.com/)은 Docker 이미지의 공식 레지스트리입니다.
이미지를 검색하려면 Docker Hub 웹 사이트에서 검색어를 입력하거나 docker search 명령을 사용할 수 있습니다.
docker search centos |
2. Docker 이미지 다운로드
Docker 이미지를 다운로드하려면 docker pull 명령을 사용합니다.
이미지 이름과 선택적으로 태그를 지정하여 이미지를 명시합니다.
docker pull centos |
* centos 로 이미지 다운로드 할 경우 latest 버전이 다운로드 됩니다.
3. 로컬 이미지 목록 확인
다운로드한 Docker 이미지의 목록을 확인하려면 docker images 명령을 사용합니다.
docker images |
4. Docker 이미지 실행
다운로드한 Docker 이미지로 컨테이너를 실행하려면 docker run 명령을 사용합니다.
이 명령은 이미지를 기반으로 새로운 컨테이너를 시작합니다.
docker run -i -t --name centos8 -p 80:80 -p 443:443 centos:latest /usr/sbin/init |
위의 명령은 다음과 같은 옵션을 포함합니다:
-i (interactive) | 컨테이너와 상호 작용하기 위해 표준 입력 (stdin)을 열어둡니다. |
-t (tty) | 컨테이너와의 상호 작용을 위해 가상 터미널을 할당합니다. |
--name | 컨테이너의 이름을 "centos8"로 지정합니다. |
-p | 호스트의 80번 포트를 컨테이너의 80번 포트와 연결하고, 호스트의 443번 포트를 컨테이너의 443번 포트와 연결합니다. |
docker.io/centos | 사용할 이미지의 이름을 지정합니다. |
/usr/sbin/init | 컨테이너가 실행될 때 CentOS 시스템 초기화를 위해 /usr/sbin/init 명령을 실행합니다. |
이 명령을 실행하면 CentOS 8 이미지를 기반으로한 새로운 컨테이너가 실행되며, 호스트의 80번 포트와 443번 포트가 컨테이너의 80번 포트와 443번 포트에 연결됩니다. 컨테이너의 이름은 "centos8"로 설정됩니다.
추가로, docker.io/centos 이미지는 Docker Hub에서 공식적으로 제공되는 CentOS 이미지의 전체 이름입니다.
5. Docker 컨테이너 목록표시
docker ps -a 명령을 사용하여 현재 실행 중인 컨테이너와 종료된 컨테이너의 목록을 표시합니다.
여기서 -a 옵션은 모든 컨테이너를 표시하도록 지정합니다.
다음은 docker ps -a 명령의 출력 예시입니다:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abcd1234 ubuntu:20.04 "/bin/bash" 2 hours ago Up 2 hours my_container
efgh5678 centos:8 "/bin/bash" 1 week ago Exited (0) 5 days ago another_container
ijkl9012 nginx:latest "nginx -g 'da 3 weeks ago Exited (1) 3 weeks ago nginx_container
176e1132335a docker.io/centos "/bin/bash" 11 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp centos8
각 컨테이너에 대한 정보는 다음과 같습니다.
CONTAINER ID | 컨테이너의 고유 식별자입니다. |
IMAGE | 컨테이너가 사용하는 이미지의 이름과 태그입니다. |
COMMAND | 컨테이너가 실행 중인 명령입니다. |
CREATED | 컨테이너가 생성된 시간입니다. |
STATUS | 컨테이너의 현재 상태입니다. |
PORTS | 컨테이너와 호스트 간 포트 연결 정보입니다. |
NAMES | 컨테이너의 이름입니다. |
위의 예시에서, my_container는 현재 실행 중인 컨테이너입니다. another_container와 nginx_container는 종료된 컨테이너입니다.
6. Docker도커 컨네이너 실행
docker exec -it centos8 bash 명령을 사용하면 실행 중인 컨테이너 centos8에 대해 새로운 Bash 세션을 시작할 수 있습니다.
docker exec -it centos8 bash |
위의 명령은 다음과 같은 옵션을 포함합니다.
exec | 실행 중인 컨테이너에서 명령을 실행하는 Docker 명령입니다. |
-it | 표준 입력(stdin)을 열어 컨테이너와 상호 작용하기 위해 가상 터미널을 할당합니다. |
centos8 | 실행 중인 컨테이너의 이름이나 ID입니다. |
bash | 컨테이너에서 실행할 명령입니다. 이 경우, bash를 실행하여 새로운 Bash 세션을 시작합니다. |
위의 명령을 실행하면 centos8라는 이름의 컨테이너에서 새로운 Bash 세션이 시작됩니다.
이제 컨테이너 내부에서 명령을 실행하거나 상호 작용할 수 있습니다.
Bash 세션을 종료하려면 exit 명령을 사용하면 됩니다.
또는
ctrl+p+q 명령은 현재 실행 중인 Docker 컨테이너를 종료하지 않고 컨테이너의 상호 작용을 중단하는 명령입니다.
이 명령을 사용하여 컨테이너에서 빠져나올 수 있습니다.
실행 중인 컨테이너에서 docker ctrl+p+q를 입력하면 컨테이너의 상호 작용이 중단되고 호스트 쉘 또는 다른 작업으로 돌아갑니다.
컨테이너는 여전히 실행 중이며 종료되지 않습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'공부방 > 서버' 카테고리의 다른 글
[해킹] sql injection 해킹 시나리오 (1) | 2023.08.10 |
---|---|
리눅스 - tomcat ssl 인증서 설치 및 갱신 (1) | 2023.08.10 |
리눅스 crontab 명령어를 사용하여 로그 기록 자동으로 지우기 (1) | 2023.08.02 |
nginx error log : socket() failed (24: Too many open files) (0) | 2023.07.12 |
windows cmd 창에서 tasklist 명령어 사용 방법 (1) | 2023.05.09 |
windows cmd 창에서 taskkill 명령어 사용 방법 (1) | 2023.05.09 |
windows cmd 창에서 netstat 명령어 사용 방법 (1) | 2023.05.09 |
Dockerfile 작성 방법 (1) | 2023.05.09 |