>  기사  >  운영 및 유지보수  >  나만의 도커 컨테이너를 만드는 방법

나만의 도커 컨테이너를 만드는 방법

PHPz
PHPz원래의
2023-04-04 10:39:344154검색

클라우드 컴퓨팅과 마이크로서비스의 인기로 인해 Docker는 차세대 엔터프라이즈 수준 애플리케이션의 개발 및 배포 표준이 되었습니다. 그리고 자체 구축된 Docker 컨테이너가 점점 더 많은 개발자의 선택이 되었습니다. 자신만의 Docker 컨테이너를 구축하는 방법에 대해 논의해 보겠습니다.

1. Docker 소개

Docker는 애플리케이션을 컨테이너로 쉽게 패키징하여 다양한 환경에서 실행할 수 있는 오픈 소스 애플리케이션 컨테이너 엔진입니다. Docker는 애플리케이션이 제공되는 방식을 근본적으로 변경하여 애플리케이션을 더 가볍고, 이식 가능하고, 배포 가능하게 만듭니다. Docker의 장점은 다음과 같습니다.

  1. 경량

Docker 컨테이너는 동일한 하드웨어의 여러 가상화된 컨테이너에서 실행될 수 있으므로 가볍고 효율적입니다. 따라서 Docker 컨테이너는 분산 환경에서 실행하기에 이상적입니다.

  1. 이식성

Docker 컨테이너는 로컬 시스템에서 쉽게 구축하고 테스트한 다음 프로덕션 환경에 직접 배포할 수 있습니다. 이렇게 하면 다양한 환경에서의 구성 차이와 환경 차이로 인해 발생하는 "여기에서는 실행할 수 없습니다"라는 문제를 방지할 수 있습니다.

  1. 풍부한 생태계

Docker 생태계에는 애플리케이션 구축에 필요한 시간과 에너지를 절약할 수 있는 다수의 Docker 이미지(Docker 컨테이너의 템플릿으로 이해될 수 있음)가 포함되어 있습니다.

2. Docker 설치

Docker 컨테이너를 구축하기 전에 먼저 Docker를 설치해야 합니다. Docker는 Windows, Linux, Mac OS X 등 다양한 운영 체제를 지원합니다. Ubuntu 시스템에서는 다음 명령을 통해 Docker를 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install docker.io

설치가 완료된 후 다음 명령을 사용하여 Docker가 올바르게 설치되었는지 테스트합니다.

sudo docker run hello-world

3. Docker 이미지 빌드

  1. Dockerfile 준비

Dockerfile은 기본 이미지에서 시작하여 애플리케이션을 수정하고 환경을 구성하기 위한 지침을 점진적으로 추가하는 Docker 이미지를 빌드하는 스크립트를 사용합니다. 예를 들어 간단한 Node.js 애플리케이션을 구축하기 위한 Dockerfile은 다음과 같습니다.

# 使用Node.js作为基础镜像
FROM node

# 复制应用程序文件
COPY app.js /app/

# 切换工作目录
WORKDIR /app

# 安装依赖
RUN npm install

# 设置默认环境变量
ENV PORT 3000

# 暴露3000端口
EXPOSE 3000

# 启动应用程序
CMD ["npm", "start"]

Dockerfile 설명:

  • 기본 이미지: FROM 지시어를 사용하여 노드를 기본 이미지로 사용하여 필요한 기본 이미지를 지정합니다. 파일: COPY 명령을 사용하여 애플리케이션 파일을 컨테이너에 복사합니다.
  • 명령 실행: RUN 명령을 사용하여 컨테이너에서 명령을 실행하여 종속성을 설치합니다.
  • 환경 변수 설정: 환경 변수를 설정하려면 ENV 명령을 사용합니다. , Docker 컨테이너에서 런타임 시 변수 값
  • 노출된 포트 번호: EXPOSE 명령을 사용하여 컨테이너가 노출할 포트를 지정합니다.
  • Startup 명령: CMD 명령을 사용하여 컨테이너가 노출될 때 실행할 명령을 지정합니다. 시작합니다.
이미지 빌드
  1. Docker 이미지를 빌드하는 과정은 매우 간단합니다.

새 폴더를 만들거나 기존 폴더를 입력하고 해당 폴더에 Dockerfile을 넣습니다.
  • 터미널을 열고 폴더를 입력하세요. Dockerfile이 있습니다.
  • docker build -t imagename 명령을 실행합니다. 여기서 imagename은 새 Docker 이미지의 이름입니다.
  • docker build -t imagename,其中imagename是新建的Docker镜像名称。

例如,下面是节点应用程序构建Docker镜像的示例命令:

cd myapp
docker build -t myapp .

其中,myapp是自定义的镜像名称。

四、基于Docker镜像启动容器

一旦创建了Docker镜像,就可以从其基础上创建一个或多个容器来运行应用程序了。启动Docker容器的命令格式如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

其中,OPTIONS代表容器的启动选项,COMMAND代表要执行的命令,ARG表示要将传递给该命令的任何参数。例如:

docker run -d -p 8080:3000 myapp

其中:

  • -d: 表示容器将在后台运行;
  • -p: 表示将容器的端口映射到主机端口;
  • 8080: 是主机端口;
  • 3000:是容器暴露的端口;
  • myapp:是引用的自定义镜像名称。

最后,通过命令docker ps可以查看所有正在运行的Docker容器,通过命令docker stop CONTAINER_ID예를 들어 다음은 노드 애플리케이션용 Docker 이미지를 빌드하는 샘플 명령입니다.

rrreee

여기서 myapp은 사용자 정의 이미지 이름입니다.

4. Docker 이미지를 기반으로 컨테이너 시작

🎜Docker 이미지가 생성되면 이를 기반으로 하나 이상의 컨테이너를 생성하여 애플리케이션을 실행할 수 있습니다. Docker 컨테이너를 시작하는 명령 형식은 다음과 같습니다. 🎜rrreee🎜 그 중 OPTIONS는 컨테이너의 시작 옵션을 나타내고, COMMAND는 실행될 명령을 나타내며, ARG는 명령에 전달될 모든 매개변수를 나타냅니다. 예: 🎜rrreee🎜where: 🎜🎜🎜-d: 컨테이너가 백그라운드에서 실행됨을 의미합니다. 🎜🎜-p: 컨테이너 포트를 호스트 포트에 매핑함을 의미합니다. 🎜🎜3000 : 컨테이너 노출입니다. 포트 🎜🎜myapp: 참조된 사용자 정의 이미지 이름입니다. 🎜🎜🎜마지막으로 docker ps 명령을 통해 실행 중인 모든 Docker 컨테이너를 볼 수 있고, docker stop CONTAINER_ID 명령을 통해 실행 중인 Docker 컨테이너를 중지할 수 있습니다. 🎜🎜5. 결론🎜🎜자체 구축된 Docker 컨테이너는 애플리케이션을 쉽게 배포하고 애플리케이션의 이식성을 향상시킬 수 있습니다. 이번 글에서는 Docker를 설치하고, Docker 이미지를 구축하고, Docker 이미지를 기반으로 컨테이너를 시작하는 과정을 소개합니다. 자체 Docker 컨테이너를 구축할 때 다음 단계를 결합하여 자체 환경에서 Docker 컨테이너 사용을 시작하세요. 🎜

위 내용은 나만의 도커 컨테이너를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.