초보자 용 Docker : 알아야 할 모든 것

Jun 15, 2025
리눅스
[삼] [삼] 도커 패키지 된 응용 프로그램을 만듭니다 컨테이너라고합니다. 각 컨테이너는 A.와 비슷한 고립 된 환경을 제공합니다 가상 기기 (VM). VM과 달리 Docker 컨테이너 전체 운영 체제를 운영하지 마십시오 ...에 호스트의 커널을 공유하고 소프트웨어 수준에서 가상화됩니다.

Docker 기본 사항

[삼] Docker는 소프트웨어 개발자 및 시스템 관리자를위한 표준 도구가되었습니다. 시스템의 나머지 부분에 영향을 미치지 않고 응용 프로그램을 빠르게 시작하는 것이 좋습니다. 당신은 하나의 새로운 서비스를 회전시킬 수 있습니다. Docker Run. 명령. [삼] 컨테이너는 OS 패키지 종속성에서 자신의 소스 코드로 응용 프로그램을 실행하는 데 필요한 모든 것을 캡슐화합니다. 당신은 컨테이너의 작성 단계를 지침으로 정의합니다. DockerFile. ...에 Docker는 DockerFile을 사용하여 AN을 구성합니다 영상 ...에 [삼] 이미지는 컨테이너에서 사용할 수있는 소프트웨어를 정의합니다. 이것은 운영 체제 ISO로 VM을 시작하는 것과 같습니다. 이미지를 만드는 경우 Docker 사용자가 앱을 시작할 수 있습니다. Docker Run. ...에

Docker는 어떻게 작동합니까?

[삼] 컨테이너는 부분적으로 가상화 된 환경을 제공하기 위해 운영 체제 커널 기능을 사용합니다. 키를 사용하여 스크래치에서 컨테이너를 만들 수 있습니다. chroot. ...에 이렇게하면 시스템 루트 대신 지정된 루트 디렉터리가있는 프로세스가 시작됩니다. 그러나 커널 기능을 직접 사용하면 FIDDLY, 불안량 및 오류가 발생합니다. [삼] Docker는 컨테이너의 생산, 유통 및 사용을위한 완벽한 솔루션입니다. 현대식 도커 릴리즈는 다음과 같이 구성됩니다 여러 가지 독립 구성 요소 ...에 첫째, 도커가 있습니다 Cli. 당신이 당신이 당신의 터미널에서 상호 작용하는 것입니다. CLI는 명령을 A로 보냅니다 Docker 데몬 ...에 이것은 로컬로 실행될 수 있습니다 원격 호스트에서 ...에 데몬은 컨테이너와 생성되는 이미지를 관리 할 책임이 있습니다. [삼] 최종 구성 요소는이라고합니다 컨테이너 런타임 ...에 런타임은 커널 기능을 실제로 시작하여 컨테이너를 시작합니다. Docker는 그를 준수하는 런타임과 호환됩니다 OCI 사양. 이 개방형 표준은 다른 컨테이너 도구 간의 상호 운용성을 허용합니다. [삼] 먼저 시작할 때 Docker의 내면을 너무 많이 걱정할 필요가 없습니다. 설치 도커 시스템에서 컨테이너를 구축하고 실행하는 데 필요한 모든 것을 제공합니다.

왜 많은 사람들이 도커를 사용합니까?

[삼] 컨테이너는 소프트웨어 개발에서 많은 공통된 도전을 해결하기 때문에 매우 인기가 있습니다. 한 번 컨테이너를 만들고 모든 곳에서 실행할 수있는 능력 간격을 줄입니다 개발 환경 및 프로덕션 서버. [삼] 컨테이너를 사용하면 모든 환경이 동일하다는 확신을줍니다. 새로운 팀 구성원이있는 경우에만 필요합니다. Docker Run. 자신의 개발 인스턴스를 설정합니다. 서비스를 시작하면 Docker 이미지를 사용하여 프로덕션에 배포 할 수 있습니다. NS 라이브 환경 "내 컴퓨터에서 작동하는"시나리오를 피하면서 로컬 인스턴스와 정확히 일치합니다. [삼] Docker는 전체 블로운 가상 컴퓨터보다 편리합니다. VM은 가능한 모든 작업 부하를 지원하도록 설계된 범용 도구입니다. 대조적으로 컨테이너는 가볍고 자급 자족하고 던지기 사용 사례에 더 적합합니다. Docker가 호스트의 커널을 공유함에 따라 컨테이너는 시스템 성능에 무시할 수없는 영향을 미칩니다. 컨테이너 시작 시간은 전체 운영 체제가 아닌 프로세스 만 시작할 때 거의 즉각적입니다.

시작하기

[삼] Docker는 인기있는 모든 Linux 배포판에서 사용할 수 있습니다. 또한 Windows 및 MacOS에서도 실행됩니다. 다음을 따르십시오 Docker Platform에 대한 설치 지침 그것을 얻고 달리기 위해서. [삼] 간단한 컨테이너를 시작하여 설치가 작동하는지 확인할 수 있습니다.
 Docker Run Hello-World 
[삼] 이것은 기본적인 새로운 컨테이너를 시작합니다 안녕하세요 영상. 이미지는 Docker를 사용하는 방법을 설명하는 출력을 방출합니다. 그런 다음 컨테이너가 종료되어 터미널에 다시 떨어 뜨립니다. [삼]

이미지 만들기

[삼]일단 달리면 안녕하세요 , 자신만의 docker 이미지를 만들 준비가되었습니다. DockerFile은 서비스를 실행하는 방법을 설명합니다 필요한 소프트웨어 설치 파일에서 복사합니다. 여기에는 Apache 웹 서버를 사용하는 간단한 예제가 있습니다. HTTPD에서
 : 최신
echo "loadmodule headers_module modules / mod_headers.so"& gt; & gt; /usr/local/apache2/conf/httpd.conf.
.htaccess /var/www/html/.htaccess를 복사하십시오
index.html /var/www/html/index.html을 복사하십시오
CSS / / var / www / html / css 복사 
[삼] NS 에서 LINE 기본 이미지를 정의합니다. 이 경우 공식 Apache 이미지에서 시작합니다. Docker는 DockerFile의 나머지 지침을 기본 이미지 위에 적용합니다. [삼] NS 운영 Stage 컨테이너 내의 명령을 실행합니다. 이는 컨테이너 환경에서 사용할 수있는 명령 일 수 있습니다. 우리는 그를 활성화하고 있습니다 헤더 Apache 모듈, 그가 사용할 수있는 아파치 모듈 .htaccess. 라우팅 규칙을 설정하는 파일. [삼] 마지막 줄은 작업 디렉토리의 HTML 및 CSS 파일을 컨테이너 이미지로 복사합니다. 이제 이미지에는 웹 사이트를 실행하는 데 필요한 모든 것이 포함되어 있습니다. [삼] 이제 이미지를 빌드 할 수 있습니다.
 Docker Build -t My-Website : V1. 
[삼] Docker는 DockerFile을 사용하여 이미지를 구성합니다. Docker가 각 지침을 실행하므로 터미널의 출력이 표시됩니다. [삼] [삼] NS -NS 명령에 당신의 이미지를 태그합니다 주어진 이름으로 ( 내 웹 사이트 : v1. ~의 이렇게하면 미래를 더 쉽게 참조 할 수 있습니다. 태그에는 콜론으로 구분 된 두 개의 구성 요소가 있습니다. 첫 번째 부분은 이미지 이름을 설정하고 두 번째는 일반적으로 버전을 나타냅니다. 콜론을 생략하면 Docker가 기본값으로 표시됩니다 사용하기 최신 태그 버전으로. [삼] NS ...에 명령의 끝에서 Docker는 로컬 작업 디렉토리에서 DockerFile을 사용하도록 지시합니다. 이것 또한 빌드 컨텍스트를 설정합니다 작업 디렉토리에서 파일 및 폴더를 사용하여 복사 DockerFile의 지침. [삼] 이미지를 만든 후에는 컨테이너를 시작할 수 있습니다. Docker Run. :
 Docker Run -d -p 8080 : 80 My-Website : V1 
[삼] 우리는 몇 가지 추가 깃발을 사용하고 있습니다 Docker Run. 여기. NS -NS 플래그로 Docker CLI가 컨테이너에서 분리되므로 백그라운드에서 실행할 수 있습니다. 포트 매핑은 정의됩니다 -NS 따라서 컨테이너의 포트 80에 대한 포트 8080을 포트 8080으로 설정합니다. 방문하면 웹 페이지가 표시됩니다 localhost : 8080. 브라우저에서. [삼] Docker 이미지는 레이어로 구성됩니다. Dockerfile의 각 명령어는 새 레이어를 만듭니다. 고급 건물 기능을 사용할 수 있습니다 여러 기본 이미지를 참조하십시오 , 초기 이미지에서 중간 레이어를 삭제합니다.

이미지 레지스트리

[삼] 이미지가 있으면 레지스트리로 밀어 넣을 수 있습니다. 등록자의 중앙 집중식 스토리지를 제공하십시오 따라서 컨테이너를 다른 사람들과 공유 할 수 있습니다. 기본 레지스트리는입니다 Docker Hub. ...에 [삼] 이미지를 참조하는 명령을 실행하면 Docker는 먼저 로컬로 사용할 수 있는지 여부를 확인합니다. 그렇지 않은 경우 Docker Hub에서 가져 오려고 노력할 것입니다. 수동으로 이미지를 수동으로 가져올 수 있습니다 Docker Pull. 명령:
 Docker Pull HTTPD : 최신 
[삼] 이미지를 게시하려는 경우 Docker Hub. 계정. 운영 Docker 로그인 사용자 이름과 암호를 입력하십시오. [삼] 다음으로 Docker HUB 사용자 이름을 사용하여 이미지 태그 :
 Docker 태그 My-Image : 최신 Docker-Hub-username / my-image : 최신 
[삼] 이제 이미지를 밀어 넣을 수 있습니다.
 Docker Push Docker-Hub-username / my-image : 최신 
[삼] 다른 사용자는 이미지를 끌어 당기고 컨테이너를 시작할 수 있습니다. [삼] 너는 할 수있어 자신의 레지스트리를 실행하십시오 개인 이미지 저장소가 필요한 경우. 또한 여러 타사 서비스도 있습니다 Docker Registries를 제공하십시오 Docker Hub의 대안으로.

컨테이너 관리

[삼]Docker CLI에는 실행중인 컨테이너를 관리 할 수있는 몇 가지 명령이 있습니다. 다음은 가장 유용한 것들 중 일부입니다.

목록 컨테이너

[삼] Docker PS. 모든 실행중인 컨테이너를 보여줍니다. 그를 추가하십시오 -NS 깃발은 멈춘 컨테이너도 표시됩니다. [삼]

컨테이너를 멈추고 시작합니다

[삼] 컨테이너를 멈추려는 경우, 실행하십시오 Docker는 내 컨테이너를 중지합니다 ...에 바꾸다 내 컨테이너 컨테이너의 이름이나 ID를 사용하십시오. 이 정보를 얻을 수 있습니다 추신 명령. 중지 된 컨테이너가 다시 시작됩니다 Docker는 내 컨테이너를 시작합니다 ...에 [삼] 컨테이너는 일반적으로 주요 프로세스가 살아있는 것처럼 오래갑니다. 정책을 다시 시작하십시오 컨테이너가 중지되거나 호스트가 다시 시작될 때 발생하는 작업을 제어하십시오. 통과하다 --restart 항상 에게 Docker Run. 그것이 멈춘 직후 컨테이너를 다시 시작하게하려면.

껍질을 얻는 것

[삼] 너는 할 수있어 명령을 실행하십시오 용기를 사용하여 Docker Exec My-Container My-Command. ...에 이는 컨테이너의 주 프로세스와 별개의 실행 파일을 수동으로 호출하려는 경우에 유용합니다. [삼] 을 추가하십시오 -그것 대화식 액세스가 필요하면 플래그가 표시됩니다. 이렇게하면 달리기에 의해 쉘에 들어가게 할 수 있습니다 Docker Exec - My-Container SH. ...에

모니터링 로그

[삼] Docker는 컨테이너의 표준 입력 및 출력 스트림으로 방출되는 출력을 자동으로 수집합니다. NS Docker는 내 컨테이너를 기록합니다 명령은 터미널에 컨테이너의 로그를 표시합니다. NS --따르다 플래그는 연속 스트림을 설정하여 로그를 실시간으로 볼 수 있습니다. [삼]

자원 청소

[삼] 오래된 컨테이너와 이미지는 시스템에 빠르게 쌓을 수 있습니다. 사용하다 Docker RM My-Container. ID 또는 이름으로 컨테이너를 삭제하려면. [삼] 이미지에 대한 명령입니다 Docker RMI My-Image : 최신 ...에 이미지의 ID 또는 전체 태그 이름을 전달하십시오. 태그를 지정하면 이미지가 더 이상 할당되지 않을 때까지 이미지가 삭제되지 않습니다. 그렇지 않으면 주어진 태그가 제거되지만 이미지의 다른 태그가 사용 가능한 상태로 유지됩니다. [삼] [삼] 대량 정리가 가능합니다 Docker Prune. 명령 ...에 이렇게하면 모든 중복 된 컨테이너와 중복 이미지를 쉽게 제거 할 수 있습니다.

그래픽 관리

[삼] 터미널이 귀하의 일이 아닌 경우 타사 도구를 사용하여 Docker의 그래픽 인터페이스를 설정하십시오 ...에 웹 대시 보드를 사용하면 신속하게 설치를 신속하게 모니터링하고 관리 할 수 ​​있습니다. 또한 컨테이너를 원격으로 제어하는 ​​데 도움이됩니다. [삼]

지속적인 데이터 저장소

[삼] Docker 컨테이너는 기본적으로 erepereral입니다. 컨테이너의 파일 시스템에 대한 변경 사항은 컨테이너가 중지 된 후에 지속되지 않습니다. 그것은 안전하지 않습니다 모든 형태의 파일 저장 시스템을 실행하십시오 컨테이너에서 기본으로 시작되었습니다 Docker Run. 명령. [삼] 몇 가지 접근 방식이 있습니다 지속적인 데이터 관리 ...에 가장 일반적인 것은 Docker 볼륨을 사용하는 것입니다. 볼륨은 저장 장치입니다 컨테이너 파일 시스템에 장착됩니다. 볼륨의 모든 데이터는 연결된 컨테이너가 멈추고 나중에 다른 컨테이너를 연결할 수있게되면 그대로 유지됩니다.

보안 유지

[삼] Docker는 운영 체제와 서비스간에 몇 가지 분리를 제공하므로 Dockerized 작업 부하가 맨손으로 금속 대응 물보다 더 안전 할 수 있습니다. 그럼에도 불구하고 Docker는 잠재적 인 보안 문제입니다. 일반적으로 AS를 실행합니다 뿌리 악의적 인 소프트웨어를 실행하기 위해 악용 될 수 있습니다. [삼] Docker를 개발 도구로 실행하는 경우 기본 설치는 일반적으로 사용하기에 안전합니다. 네트워크 노출 된 데몬 소켓이있는 프로덕션 서버 및 기계는 라이브하기 전에 경화되어야합니다. [삼] [삼] Docker 설치를 감사하십시오 잠재적 인 보안 문제를 식별합니다. 그게있다 자동화 된 도구를 사용할 수 있습니다 그것은 당신이 약점을 찾고 결의안을 제안하는 데 도움이 될 수 있습니다. 당신은 또한 수 개별 컨테이너 이미지를 스캔하십시오 내에서 악용 될 수있는 문제는

여러 컨테이너 작업

[삼] NS 도커 명령은 한 번에 하나의 컨테이너에서만 작동합니다. 종종 집계에 컨테이너를 사용하고 싶을 것입니다. Docker 작성 yaml 파일에 선언적으로 컨테이너를 정의 할 수있는 도구입니다. 단일 명령으로 모두 시작할 수 있습니다. [삼] 이는 프로젝트가 데이터베이스 서버에 의존하는 웹 백엔드와 같은 다른 서비스에 의존 할 때 유용합니다. 당신은 당신의 모든 컨테이너를 정의 할 수 있습니다 Docker-Compose.yml. 간소화 된 관리의 이점을 제공합니다 자동 네트워킹 ...에 [삼] 여기에 간단합니다 Docker-Compose.yml. 파일:
 버전 : "3"
서비스:
  앱:
    이미지 : App-Server : 최신
    포트 :
      - 8000 : 80.
  데이터 베이스:
    이미지 : 데이터베이스 서버 : 최신
    볼륨 :
        - 데이터베이스 데이터 : / data.
볼륨 :
    데이터베이스 데이터 : 
[삼] 이것은 두 개의 컨테이너를 정의합니다 ( 그리고 데이터 베이스 ~의 데이터베이스에 대한 볼륨이 생성됩니다. 이것은 장착됩니다 /데이터 컨테이너에. 앱 서버의 포트 80은 호스트의 8000으로 노출됩니다. 운영 Docker- 업 그레이커 - -d. 네트워크 및 볼륨을 포함하여 두 서비스를 모두 회전시킵니다. [삼] Docker Compose의 사용을 사용하실 수 있습니다 재사용 할 수 있습니다 다른 사람들과 공유 할 수있는 컨테이너 정의. 당신은 A를 저지 할 수 있습니다 Docker-Compose.yml. 개발자가 기억하는 대신 버전 관리로 Docker Run. 명령. [삼] 여러 컨테이너를 실행하는 다른 접근 방식이 있습니다. Docker 앱입니다 다른 수준의 추상화를 제공하는 신흥 솔루션. 생태계의 다른 곳, Podman은 Docker 대안입니다 이를 통해 터미널 내의 컨테이너의 "포드"를 만들 수 있습니다.

컨테이너 오케스트레이션

[삼] Docker는 일반적으로 생산중인 것으로 실행되지 않습니다. 이제는 오케스트레이션 플랫폼을 사용하는 것이 더 일반적입니다. 쿠베르네스 또는 Docker Swarm 모드. 이 도구는 처리하도록 설계되었습니다 다중 컨테이너 복제본, 확장 성과 신뢰성을 향상시킵니다. [삼] [삼] Docker는 더 넓은 컨테이너 이동에서 하나의 구성 요소 일뿐입니다. 오키 스트레이터 같은 것을 사용하십시오 컨테이너 런타임 기술은 생산에 더 적합한 환경을 제공하는 환경을 제공합니다. 여러 컨테이너 인스턴스를 사용합니다 롤링 업데이트를 허용합니다 기계 전반의 배포뿐만 아니라 배치가 더욱 탄력적으로 변경되고 중단됩니다. 일반 도커 CLI는 하나의 호스트를 대상으로하고 개별 컨테이너와 함께 작동합니다.

컨테이너를위한 강력한 플랫폼

[삼] Docker는 컨테이너와 함께 작동하는 데 필요한 모든 것을 제공합니다. 소프트웨어 개발 및 시스템 관리를위한 주요 도구가되었습니다. 주요 혜택은 개별 서비스에 대한 격리 및 이식성이 증가합니다. [삼] Docker에 익숙해지면 기본 컨테이너 및 이미지 개념을 이해해야합니다. 이를 적용하여 작업 부하를 컨테이너를 컨테이킹하는 특수 이미지 및 환경을 만듭니다.

리눅스 - 가장 인기있는 기사

새로운 우분투의 새로운 기능 21.04 '털이 하마'

리눅스 Apr 22, 2025

[삼] [삼] 브랜드의 새로운 출시 우분투 21.04. , Hirsute Hippo는 2021 년 4 월 22 일에 발표되었습니다. 일반적인 리눅스 배포판의 중간 방출이며, ..


6 최고의 가벼운 리눅스 배포판

리눅스 Jul 27, 2025

[삼] 3DMI / Shutterstock.com. Windows 또는 Mac 컴퓨터가 오래되었고 유지하기 위해 고심하고 Linux를 설치하면 신선한 삶의 임대를..


Debian 11 "Bullseye"의 새로운 기능

리눅스 Jul 22, 2025

[삼] [삼] 데비안 다른 많은 Linux 배포판의 전구는 시험 단계에서 사용할 수있는 릴리스 11을 만들었습니다. 업그레이드의 덕목을 무게가 있거..


Linux Mint 업데이트 알림을 구성하거나 비활성화하는 방법

리눅스 Jul 9, 2025

[삼] 리눅스 민트의 성가신 업데이트 알림 충분했다? 아니면 당신은 그래서 당신이 더 그들을보고 싶은 최신 머물 관심있어? 우리가 설명 할 것..


어떻게 리눅스에서 롤백 커널에

리눅스 Sep 30, 2025

[삼] Fatmawati Achmad Zaenuri / Shutterstock.com Linux PC가 시스템에 대한 업데이트 후에 갑자기 문제가있는 경우 리눅스 커널 업�..


이 새로운 리눅스 게이밍 노트북

리눅스 Oct 20, 2025

[삼] Juno 컴퓨터 리눅스와 게임은 최근에 훨씬 더 많이 모으기 시작합니다. NS 스팀 데크 Linux가 설치된 방식이며 Juno는 방금 새..


초보자를위한 10 가지 기본 리눅스 명령

리눅스 Oct 13, 2025

[삼] 그냥 Linux에서 시작하기 시작 하시겠습니까? 명령 줄에 편안하게 편안하게 만드는 것이 필수적입니다. 이미 명령 줄 유틸리티에 익숙한 경..


Linux에서 DNS를 플러시하는 방법

리눅스 Nov 14, 2024

Linux 장치에서 인터넷 브라우징 경험이 느려지거나 구식 또는 잘못된 웹 사이트를 방문하고 있습니까? Linux에서 DNS 캐시를 플러시하고 실제로 필�..


카테고리