Docker에서 이미지를 사용자 정의하는 방법은 무엇입니까?
1. docker 기술을 사용하려면 먼저 docker 패키지를 설치해야 합니다.
이번에는 docker-engine-1.12.1-1.el7.centos.x86_64.rpm 기반을 사용했습니다. 이 시스템에서 기본 시스템은 시스템 상단에서 애플리케이션을 패키지하고 전달합니다. 컨테이너를 프로세스만큼 빠르게 시작할 수 있습니다.
Docker 기술을 기반으로 필요한 다양한 시스템 환경을 캡슐화하여 미러로 최소화하고 프로세스처럼 시작할 수 있습니다.
2. 커스텀 도커 이미지 만들기
먼저 도커 공식 홈페이지에서 도커 이미지를 다운로드하세요
docker search docker docker pull docker
공식 홈페이지에 있는 이미지는 모두 최소 설치이므로 먼저 yum 소스를 구성하고 설치해야 합니다. centos 이미지 일반적으로 사용하는 소프트웨어를 설치하고 httpd 및 sshd를 시작합니다. 구체적인 작업은 다음과 같습니다.
yum -y install docker-engine-1.12.1-1.el7.centos.x86_64.rpm mkdir testcd testtouch Dockerfile vim Dockerfile FROM centos:latest RUN rm -f /etc/yum.repos.d/* ADD centos7.repo /etc/yum.repos.d/centos7.repo RUN yum -y install httpd openssh-server net-tools bash-completion.noarch \ iproute vim-enhanced EXPOSE 80 22 RUN echo "123456" |passwd --stdin root RUN /usr/sbin/sshd-keygen ENV EnvironmentFile=/etc/sysconfig/sshd WORKDIR /var/www/html RUN echo "<h1><font color=red>this is centos1:httpd">index.html ENV EnvironmentFile=/etc/sysconfig/httpd ADD qd.sh /root/qd.sh CMD ["/root/qd.sh"] :wq
참고:
EXPOSE는 열려 있는 컨테이너의 포트를 지정합니다. 현재 디렉터리를 컨테이너로 지정합니다. 지정된 디렉터리에서는 현재 경로여야 합니다.
RUN은 컨테이너에서 실행되는 명령을 나타냅니다.
FROM은 지정된 소스 이미지, 즉 이 이미지의 기반이 되는 이미지를 나타냅니다.
WORKDIR은 지정된 컨테이너의 작업 디렉터리로, centos 시스템의 cd 명령과 동일합니다.
ENV는 환경 변수를 정의합니다.
CMD는 컨테이너가 시작된 후 실행될 첫 번째 명령을 지정합니다. [] 및 따옴표가 있는 경우 쉼표로 구분됩니다. 예: ["/usr/sbin/sshd", "-D"]
생성된 파일은 Dockerfile이라고 해야 합니다
이러한 명령을 수동으로 작성한다고 생각된다면 더 복잡하면 기본 이미지를 입력하여 각 명령을 실행한 다음 기록을 사용하여 명령을 보고 cp 명령을 사용하고 위의 해당 형식으로 바꿀 수 있습니다.
3. 시작 스크립트 작성Docker 이미지의 CMD는 컨테이너 시작 후 실행되는 첫 번째 기본 명령이므로 CMD에는 하나의 명령만 작성할 수 있으며, 이 경우에는 sshd와 httpd 두 프로그램을 시작해야 하므로 스크립트를 작성하고 CMD가 스크립트를 직접 실행하도록 해야 합니다.
vim qd.sh#!/bin/bash/usr/sbin/sshd -D & /usr/sbin/httpd -DFOREGROUND :wqchmod +x qd.sh //실행 권한 추가
4. 이미지 생성현재 디렉터리에서 실행해야 함
docker build -t wang:sh2 .
5. 이미지를 시작하고 컨테이너 포트를 매핑합니다. docker run -d -p 80:80 -p 2022:22 wang:sh2
컨테이너의 포트 80을 물리적 머신의 포트 80에 매핑하고, 컨테이너의 포트 22를 물리적 머신의 포트 2022에 매핑합니다.
firefox http://192.168.1.194(物理机)
ssh -p 2022 192.168.1.194
7. Extension
먼저 sshd 서비스의 미러를 만든 다음 sshd 미러를 기반으로 httpd 컨테이너를 구축할 수도 있습니다:im Dockerfile
FROM wang:sshd
RUN yum -y httpd
EXPOSE 80 22ENV EnvironmentFile=/etc/sysconfig/httpd
WORKDIR /var/www/html
RUN echo "<h1><font color=red>this is httpd and sshd">index.html
ADD qd.sh /root/qd.sh
CMD ["/root/qd.sh"]
:wq
관련 참조:
위 내용은 Docker가 이미지를 사용자 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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 사용을위한 모범 사례가 포함됩니다.

Docker Security 향상 방법에는 다음이 포함됩니다. 1.-캡 드롭 매개 변수를 사용하여 Linux 기능을 제한, 2. 읽기 전용 컨테이너 생성, 3. Selinux 태그 설정. 이러한 전략은 취약성 노출을 줄이고 공격자 기능을 제한함으로써 컨테이너를 보호합니다.

DockErvolumes는 컨테이너가 다시 시작, 삭제 또는 마이그레이션 될 때 데이터가 안전하게 유지되도록합니다. 1. 볼륨 생성 : dockervolumecreatemydata. 2. 컨테이너를 실행하고 볼륨을 장착하십시오 : Dockerrun-it-vmydata :/app/dateubuntubash. 3. 고급 사용에는 데이터 공유 및 백업이 포함됩니다.

Docker는 브리지 네트워크, 호스트 네트워크 및 오버레이 네트워크의 세 가지 주요 네트워크 모드를 제공합니다. 1. Bridge Network는 단일 호스트의 대기업 통신에 적합하며 가상 브리지를 통해 구현됩니다. 2. 호스트 네트워크는 고성능 네트워크가 필요한 시나리오에 적합하고 컨테이너는 호스트의 네트워크 스택을 직접 사용합니다. 3. 오버레이 네트워크는 다중 호스트 Dockerswarm 클러스터에 적합하며 가상 네트워크 계층을 통해 크로스 호스트 통신이 실현됩니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

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