이 기사는 Docker에서 컨테이너를 사용하는 방법에 대해 설명합니다.
컨테이너 실행
기존 이미지를 찾고 싶다면 GitHub 프로젝트에서 오픈소스를 찾는 것처럼 공개 Docker Hub에서 검색하면 소개와 사용법을 확인할 수 있습니다. 동일합니다.
Docker Hub를 처음 사용하는 경우 먼저 계정을 등록하고 상단 검색창에 ubuntu를 입력하면 첫 번째 검색된 결과가 공식 ubuntu 이미지입니다. .
이 페이지에는 이미지의 기본 정보와 사용법 소개가 있습니다. 오른쪽의 docker pull ubuntu 명령은 이미지를 로컬로 가져오는 데 사용됩니다. 이전 기사에서 언급했듯이 컨테이너를 인스턴스화할 때 Docker가 지정된 이미지를 로컬에서 찾을 수 없으면 자동으로 가져옵니다. 따라서 로컬에서 직접 실행할 수 있습니다.
docker run -i -t ubuntu /bin/bash
이 명령은 이전 명령보다 빠릅니다. 지난번에는 아래에 설명된 몇 가지 추가 매개변수가 있습니다.
-i는 컨테이너에서 STDIN이 켜져 있는지 확인할 수 있습니다.
-t는 컨테이너에 의사 TTY 터미널을 할당합니다.
ubuntu는 이전 예의 hello-world
/bin/bash에 해당하는 이미지 이름은 시작 후 컨테이너에서 실행되는 명령입니다
두 매개변수 -i와 -t는 컨테이너를 실행한 후 상호작용을 할 수 있습니다. 컨테이너가 생성되면 Docker는 컨테이너에서 /bin/bash 명령을 실행합니다. 따라서 컨테이너가 실행된 후 터미널이 컨테이너에 연결됩니다.
이때 터미널을 열 수 있습니다. docker ps 명령을 입력하여 시작된 컨테이너를 보면 결과는 다음과 같습니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 402c5d3468d7 ubuntu "/bin/bash" 4 hours ago Up 4 hours reverent_wu
여기에는 컨테이너의 ID, 이미지, 마지막으로 실행된 명령, 생성 시간, 상태 및 이름이 표시됩니다. 여기서 reverent_wu라는 이름은 Docker에 의해 자동으로 생성됩니다. 컨테이너를 생성할 때 이름을 지정해야 하는 경우 --name을 사용하여 컨테이너 이름을 지정할 수 있습니다.
컨테이너 내부 깊숙한 곳
현재 상태에서는 컨테이너에 연결된 터미널에서 우분투 시스템이 지원하는 모든 명령을 실행할 수 있습니다. 예를 들어, 호스트 이름 명령을 입력하고 컨테이너의 호스트 이름이 해당 컨테이너 ID인지 확인합니다.
다음으로 /etc/hosts 파일을 살펴볼 수 있습니다.
root@402c5d3468d7:/# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 402c5d3468d7
컨테이너의 프로세스를 직접 보거나 apt-get을 사용하여 패키지를 설치할 수도 있습니다.
마지막으로 종료 명령을 입력하여 컨테이너를 시작하고 호스트의 명령 프롬프트로 돌아갈 수 있습니다. 이때 docker ps를 실행하면 방금 생성한 ubuntu 컨테이너가 더 이상 컨테이너 목록에 없다는 것을 알 수 있습니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
종료하면 컨테이너 실행이 중지됩니다. 그러나 컨테이너는 삭제되지 않았습니다. docker ps -a 명령을 사용하면 컨테이너 시작 여부에 관계없이 생성된 모든 컨테이너를 볼 수 있습니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 402c5d3468d7 ubuntu "/bin/bash" 4 hours ago Exited (0) 2 minutes ago reverent_wu
이때 상태는 2분 전 Exited(0)로 변경됩니다. , 이는 2분 전에 시작되었음을 나타냅니다. 종료 상태 코드는 0이며 정상적인 종료를 나타냅니다.
다음 명령을 사용하여 이 컨테이너를 다시 시작할 수 있습니다.
docker start 402c5d3468d7
이 명령에서는 docker start 뒤에 컨테이너 ID가 옵니다. 또는 컨테이너 이름을 사용할 수도 있습니다. 실행이 성공한 후에는 docker ps 명령을 통해 컨테이너가 시작 상태인 것을 확인할 수 있습니다. docker start 명령을 통해 컨테이너가 다시 시작된 후에는 docker run 명령에 지정된 매개변수가 사용됩니다. 시작 시 /bin/bash가 실행되어 셸을 시작하지만 컨테이너의 명령줄을 입력하지 않았습니다. docker Attach 명령을 통해 다시 입력할 수 있습니다:
docker attach 402c5d3468d7
이때 컨테이너에서는 계속해서 명령을 실행할 수 있습니다.
컨테이너가 더 이상 사용되지 않으면 docker rm 명령을 사용하여 삭제할 수 있습니다.
docker rm 402c5d3468d7
지속적인 서비스 제공
컨테이너를 사용하여 애플리케이션과 서비스를 실행하는 경우가 더 많으며, 백그라운드에서 계속 서비스를 제공하기를 바랍니다. 이때는 분리 모드(또는 데몬)를 사용해야 합니다. 모드) 컨테이너를 실행합니다. 컨테이너가 백그라운드에서 실행되도록 하려면 docker run 뒤에 -d 매개변수를 추가하기만 하면 됩니다.
다음으로 다음 명령을 통해 컨테이너를 다시 실행합니다.
docker run --name detached_mode -d ubuntu /bin/sh -c "while true; do echo Docker YYDS; sleep 1; done"
이번에는 컨테이너 detached_mode를 호출하고 -d를 전달하여 분리 모드에서 실행되도록 하고 1초마다 스크립트를 실행합니다. Docker YYDS 한 줄 인쇄 .
별도 모드로 실행되기 때문에 시작 후 명령줄에서 인쇄된 내용을 볼 수 없습니다. 하지만 docker ps 명령을 통해 실행 중인 컨테이너를 볼 수 있습니다.
실행을 중지하려면 docker stop 명령을 사용하면 됩니다.
docker stop detached_mode
docker start 명령을 통해 다시 시작할 수도 있고, docker restart를 통해 실행 중인 컨테이너를 다시 시작할 수도 있습니다.
컨테이너의 실행 상태
在 detached_mode 容器运行的时候,可以通过 docker logs 命令获取容器的日志。也可以增加 -f 来持续监控日志,类似于 tail -f 命令。
docker logs -f detached_mode
此时就可以看到一直有 Docker YYDS 被打印。
除了监控容器的日志,也可以使用 docker top 命令,查看容器内的进程。
docker top detached_mode
使用 docker stats 命令,可以查看容器的CPU、内存、网络I/O、存储I/O的性能和指标。
另外,docker exec 命令可以在容器内部运行进程。
docker exec detached_mode cat /etc/hosts
以上命令可以让我们直接查看容器中的 hosts 文件的内容,如果需要运行一个后台进程,在指令后面增加 -d 参数就可以了。
容器的详细信息
使用 docker inspect 命令可以查看容器的详细信息,其结果是一个 JSON 结构,包含的信息非常丰富。可以通过 -f 或者 --format 来选定想要查看的部分。
docker inspect --format '{{ .NetworkSettings.IPAddress }}' detached_mode
执行以上的命令,只会在命令行展示容器的 IP 地址。
推荐学习:《docker视频教程》
위 내용은 Docker 학습 컨테이너 사용법을 완전히 익히세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

LXC는 Docker의 기초이며 Linux 커널의 CGroup 및 네임 스페이스를 통해 자원 및 환경 격리를 실현합니다. 1) 자원 격리 : CGroups는 CPU, 메모리 및 기타 리소스를 제한합니다. 2) 환경 격리 : 네임 스페이스는 독립적 인 프로세스, 네트워크 및 파일 시스템보기를 제공합니다.

Linux에서 Docker를 사용하는 모범 사례에는 다음이 포함됩니다. 1. Dockerrun 명령을 사용하여 컨테이너 작성 및 실행, 2. DockerCompose를 사용하여 다중 컨테이너 응용 프로그램, 3. 정기적으로 사용되지 않은 이미지 및 컨테이너, 4. 멀티 스테이지 구조를 사용하여 이미지 크기를 최적화하기 위해 컨테이너 리소스 사용량을 제한하여 보안을 개선하기 위해 Dockerfile 모범 사례를 개선하십시오. 이러한 관행은 사용자가 Docker를 효율적으로 사용하고 일반적인 문제를 피하고 컨테이너화 된 응용 프로그램을 최적화하는 데 도움이 될 수 있습니다.

Linux에서 Docker를 사용하면 개발 및 배포 효율성을 향상시킬 수 있습니다. 1. Docker 설치 : 스크립트를 사용하여 Ubuntu에 Docker를 설치하십시오. 2. 설치 확인 : Sudodockerrunhello-World를 실행하십시오. 3. 기본 사용 : Nginx 컨테이너 생성 Dockerrun-Namemy-Nginx-P8080 : 80-Dnginx. 4. 고급 사용 : DockerFile을 사용하여 사용자 정의 이미지를 만들고 빌드 및 실행하십시오. 5. 최적화 및 모범 사례 : 다단계 빌드 및 dockercompose를 사용하여 Dockerfiles를 작성하기위한 모범 사례를 따르십시오.

Docker 모니터링의 핵심은 주로 CPU 사용, 메모리 사용, 네트워크 트래픽 및 디스크 I/O와 같은 지표를 포함하여 컨테이너의 작동 데이터를 수집하고 분석하는 것입니다. Prometheus, Grafana 및 Cadvisor와 같은 도구를 사용하면 컨테이너의 포괄적 인 모니터링 및 성능 최적화를 달성 할 수 있습니다.

Dockerswarm은 확장 가능한 고도로 컨테이너 클러스터를 구축하는 데 사용될 수 있습니다. 1) Dockers -Warminit을 사용하여 떼 클러스터를 초기화하십시오. 2) Swarm 클러스터에 가입하여 Dockers-Warmjoin-Token을 사용하십시오. 3) DockerserviceCreate-namemy-nginx-replicas3nginx를 사용하여 서비스를 만듭니다. 4) DockerstackDeploy-Cdocker-Compose.ymlmyapp을 사용하여 복잡한 서비스를 배포합니다.

Docker 및 Kubernetes를 사용하여 Enterprise Applications의 컨테이너 오케스트레이션을 수행하는 방법은 무엇입니까? 다음 단계를 통해 구현하십시오. Docker 이미지를 만들고 DockerHub로 푸시하십시오. Kubernetes에서 배포 및 서비스를 작성하여 응용 프로그램을 배포하십시오. 외부 액세스를 관리하기 위해 Insress를 사용하십시오. 성능 최적화 및 다단장 구성 및 자원 제약과 같은 모범 사례를 적용하십시오.

Docker FAQ는 다음 단계를 통해 진단 및 해결할 수 있습니다. 1. 컨테이너 상태 및 로그보기, 2. 네트워크 구성 확인, 3. 볼륨이 올바르게 장착되도록하십시오. 이러한 방법을 통해 Docker의 문제는 빠르게 위치하고 고정되어 시스템 안정성과 성능을 향상시킬 수 있습니다.

Docker는 DevOps 엔지니어에게 필수 기술입니다. 1. Docker는 포장 애플리케이션 및 컨테이너에 대한 종속성을 통해 격리 및 휴대 성을 달성하는 오픈 소스 컨테이너화 플랫폼입니다. 2. Docker는 네임 스페이스, 제어 그룹 및 연합 파일 시스템과 함께 작동합니다. 3. 기본 사용에는 컨테이너 생성, 실행 및 관리가 포함됩니다. 4. 고급 사용법에는 DockerCompose를 사용하여 다중 컨테이너 응용 프로그램을 관리하는 것이 포함됩니다. 5. 일반적인 오류에는 컨테이너 고장, 포트 매핑 문제 및 데이터 지속성 문제가 포함됩니다. 디버깅 기술에는 로그보기, 컨테이너 입력 및 자세한 정보보기가 포함됩니다. 6. 성능 최적화 및 모범 사례에는 이미지 최적화, 리소스 제약 조건, 네트워크 최적화 및 Dockerfile 사용을위한 모범 사례가 포함됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
