Docker 이미지를 만드는 방법에는 여러 가지가 있습니다.
Docker 이미지를 생성하는 방법에는 두 가지가 있습니다. 1. "docker commit" 명령을 사용하여 기존 컨테이너를 기반으로 이미지를 수동으로 빌드합니다. 2. Dockerfile을 사용하여 이미지를 자동으로 빌드합니다. Docker 프로그램이 자동으로 이미지를 생성합니다. Dockerfile 빌드 파일의 지침을 읽어보세요.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
Docker 이미지 웨어하우스에서 다운로드한 이미지가 요구 사항을 충족하지 못하는 경우가 있습니다. 기본 이미지를 기반으로 자체 이미지를 구축할 수 있습니다.
이미지 구축 소개
어떤 상황에서 이미지를 직접 구축해야 합니까?
(1) 자체 개발한 애플리케이션 등 기존 이미지를 찾을 수 없는 경우
(2) 이미지에 특정 기능을 추가해야 하는 경우
Docker에서 이미지를 빌드하는 방법에는 두 가지가 있습니다. code>docker commit 명령과 Dockerfile
빌드 파일docker commit
命令与Dockerfile
构建文件
docker commit构建镜像
基于已有容器构建镜像主要是通过docker commit
docker commit
명령을 사용하여 수행됩니다. 새로운 이미지를 구축하세요. - dockercommit을 빌드하는 세 가지 주요 단계는 다음과 같습니다.
- 컨테이너 실행
- 컨테이너 수정
컨테이너를 새 이미지로 저장
예를 들어 centos 이미지에 vim 편집기를 설치하고 새 이미지 (1) 컨테이너 실행[root@ken1 docker]# docker run -it centos Unable to find image 'centos:latest' locally latest: Pulling from library/centos a02a4930cb5d: Pull complete Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426 Status: Downloaded newer image for centos:latest
[root@69f501e858a6 /]# vim bash: vim: command not found
[root@69f501e858a6 /]# yum install vim -y
[root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 69f501e858a6 centos "/bin/bash" 2 minutes ago Up 2 minutes quizzical_torvalds
커밋을 사용하여 새 이미지
[root@ken1 ~]# docker commit 69f501e858a6 centos-vim sha256:42083b89a179368bc29a8f40d14f8824990183c8e4b28fd84411d440c26342e5
69f501e858a6은 실행 중인 컨테이너의 ID입니다.
centos-vim은 새 이미지의 이름입니다.centos-vim 이미지가 있는지 확인하세요.
새 이미지를 다시 시작하고 vim 편집기를 사용할 수 있는지 확인하세요.
vim 편집기를 사용하여 새 이미지를 찾을 수 있습니다.
[root@ken1 ~]# docker run -it centos-vim [root@61d090898bad /]# vim [root@61d090898bad /]# vim test
- 위에서는 방법을 보여줍니다. 커밋을 사용하여 새 이미지를 생성하지만 docker는 다음과 같은 이유로 이 방법을 사용하여 이미지를 생성하는 것을 권장하지 않습니다.
- 이 방법은 수동으로 이미지를 생성하는 방식으로, 컨테이너에 오류가 발생하기 쉽고 비효율적이고 약합니다. 반복성
이미지를 빌드하는 Dockerfile
Dockerfile은 일련의 명령어로 구성된 파일입니다. 각 명령어는 Linux의 명령어에 해당합니다. Dockerfile.
첫 번째 Dockerfike
1단계: 새 디렉터리 만들기
[root@ken1 ~]# mkdir /test
2단계: Dockerfile 작성
이름은 Dockerfile이고 첫 번째 D는 대문자로 시작해야 합니다.
[root@ken1 ~]# cat Dockerfile FROM centos RUN yum install vim -y
FROM centos는 centos를 기본으로 사용한다는 의미입니다. image
RUN은 centos에 vim 편집기를 설치하는 것을 의미합니다.
3단계: 이미지 빌드
[root@ken1 ~]# docker build -t centos-vim2 .
-t
뒤에 새 이미지의 태그 이름(태그)을 지정합니다. 마지막 점은 Docker 컨텍스트가 현재임을 나타냅니다. 예배 규칙서. Docker는 기본적으로 빌드 컨텍스트에서 Dockerfile 파일을 검색합니다. -f 매개변수를 통해 Dockerfile의 위치를 지정할 수도 있습니다. 4단계: 이미지 보기 계층 구조가 표시됩니다. Dockerfile의 실행 프로세스인 이미지입니다.
Dcokerfile 공통 지침 1.FROM
기본 이미지 지정
2. MAINTAINER이미지 작성자를 설정합니다. 모든 문자가 가능합니다
3.COPY
빌드 컨텍스트에서 이미지로 파일을 복사하세요
COPY는 두 가지 형식을 지원합니다: COPY src dest 및 COPY ["src", "dest"]
참고: src는 복사 가능 동적 빌드 컨텍스트의 파일 또는 디렉터리는 Dockerfile
4.ADD
과 동일한 디렉터리에만 있을 수 있습니다. 이는 빌드 컨텍스트에서 이미지로 파일을 복사하는 COPY와 유사합니다.
차이점은 src가 아카이브 파일(tar, zip, tgz, xz)인 경우 파일이 자동으로 dest
5.ENV
다음 명령에서 사용할 수 있는 환경 변수를 설정한다는 것입니다. as :
ENV name ken RUN echo $name
6.EXPOSE
지정된 컨테이너의 프로세스는 특정 포트를 수신 대기하며 Docker는 해당 포트를 노출할 수 있습니다
7.VOLUME
파일 또는 디렉터리를 다음과 같이 선언합니다. 볼륨
8.WORKDIR
이후 RUN, ENTRYPINT, ADD, COPY 지침을 위해 이미지의 현재 작업 디렉터리를 설정합니다.
9.RUN
컨테이너에서 지정된 명령을 실행합니다
10.CMD
容器启动时运行指定的命令
dockerfile中可以多个CMD指令,但是只要最后一个生效。CMD可以被docker run之后的参数替换
11.ENTRYPOINT
设置容器启东市的命令
dockerfile中可以有多个ENTRYPOINT,但是只有最后一个生效。
CMD或者docker run之后的参数会被当做参数传递给ENTERYPOINT.
Dockerfile演示
下面演示一个比较全面的dockerfile
[root@ken1 test]# cat Dockerfile #my Dockerfile FROM busybox MAINTAINER ken WORKDIR /ken RUN touch test COPY ["ken1","."] ADD ["wordpress.tar.gz","."] ENV name "ken"
注意:Dockerfile支持以#开头的注释
构建镜像
[root@ken1 test]# docker build -t myimage . Sending build context to Docker daemon 4.281MB Step 1/7 : FROM busybox ---> 3a093384ac30 Step 2/7 : MAINTAINER ken ---> Running in 2a73a83507ce Removing intermediate container 2a73a83507ce ---> 8c3df9b3d823 Step 3/7 : WORKDIR /ken ---> Running in 31c6f9fe2195 Removing intermediate container 31c6f9fe2195 ---> a458cf986072 Step 4/7 : RUN touch test ---> Running in e1b08ebd363c Removing intermediate container e1b08ebd363c ---> 41601920009a Step 5/7 : COPY ["ken1","."] ---> 2ebfa0933fca Step 6/7 : ADD ["wordpress.tar.gz","."] ---> d0ad29d3aa34 Step 7/7 : ENV name "ken" ---> Running in fceae6e20e63 Removing intermediate container fceae6e20e63 ---> 7efe0600e48f Successfully built 7efe0600e48f Successfully tagged myimage:latest
查看镜像
运行该镜像
[root@ken1 test]# docker run -it myimage /ken # ls ken1 test wordpress /ken # echo $name ken
- 可以发现当前工作目录为/ken,且自动创建
- ken1是我们从docker context目录中复制过去的
- test是使用touch创建的
- wordpres压缩包已经被自动解压
- $name为变量值为ken
推荐学习:《docker视频教程》
위 내용은 Docker 이미지를 만드는 방법에는 여러 가지가 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

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

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











국내 거울 소스로 전환 할 수 있습니다. 단계는 다음과 같습니다. 1. 구성 파일 /etc/docker/daemon.json 편집 및 미러 소스 주소를 추가하십시오. 2. 저장 및 종료 후 Docker Service Sudo SystemCTL Docker를 다시 시작하여 이미지 다운로드 속도 및 안정성을 향상시킵니다.

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker 버전을 얻으려면 다음 단계를 수행 할 수 있습니다. Docker 명령 "Docker -version"을 실행하여 클라이언트 및 서버 버전을 볼 수 있습니다. Mac 또는 Windows의 경우 Docker Desktop GUI의 버전 탭 또는 Aff Docker Desktop 메뉴를 통해 버전 정보를 볼 수도 있습니다.

Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

Docker Private Repositories를 구축하여 컨테이너 이미지를 안전하게 저장하고 관리하여 엄격한 제어 및 보안을 제공 할 수 있습니다. 단계에는 리포지토리 생성, 액세스 부여, 저장소 배포, 이미지 밀기 및 이미지를 당기는 단계가 포함됩니다. 보안, 버전 제어, 네트워크 트래픽 감소 및 사용자 정의가 장점이 있습니다.

Docker LNMP 컨테이너 호출 단계 : 컨테이너 실행 : Docker Run -D-- 이름 LNMP -Container -P 80:80 -P 443 : 443 LNMP -Stack 컨테이너 IP를 얻으려면 Docker LNMP -Container | grep iPaddress 액세스 웹 사이트 : http : // & lt; 컨테이너 ip & gt;/index.phpssh 액세스 : docker exec -it lnmp -container bash access mysql : mysql -u roo
