찾다
운영 및 유지보수DockerDocker 오프라인 설치를 시작하지 못했습니다.

현재 클라우드 컴퓨팅 및 컨테이너화의 물결 속에서 Docker는 주류 애플리케이션 컨테이너화 기술로 부상했으며 운영, 유지 관리 및 개발 분야에서 가장 널리 사용되는 도구 중 하나가 되었습니다. 이러한 맥락에서 Docker 오프라인 설치는 매우 일반적인 요구 사항이 되었습니다. 많은 사용자가 인터넷에 연결할 수 없거나 보안 및 기타 요인으로 인해 인터넷 연결이 금지되어 있기 때문에 오프라인 설치는 가장 편리한 설치 방법 중 하나가 되었습니다. 하지만 도커의 오프라인 설치 과정에서 설치는 성공하지만 시동이 실패하는 경우가 많아 초보자에게는 매우 골치 아픈 문제이다.

이 글에서는 실제 동작부터 시작하여 Docker 오프라인 설치 방법을 소개하고, 시작 실패에 대한 자세한 분석을 진행하여 자세한 가이드를 제공하겠습니다.

1. Docker 오프라인 설치

Docker 오프라인 설치 방법에는 두 가지가 있습니다. 하나는 Docker 바이너리 파일을 다운로드하여 설치하는 것이고, 다른 하나는 yum 소스를 구성하여 설치하는 것입니다. 전자는 주로 네트워크 조건이 없는 서버에 적합한 반면, 후자는 Linux 개발 환경의 오프라인 설치에 적합합니다.

1. Docker 바이너리 파일을 다운로드하여 설치

이 방법의 원리는 비교적 간단합니다. 즉, Docker 바이너리 파일을 로컬에 다운로드한 후 설치하는 것입니다. 구체적인 단계는 다음과 같습니다.

1.1 Docker 바이너리 파일 얻기

공식 웹사이트 https://www.docker.com/에서 해당 버전의 Docker 바이너리 파일을 다운로드합니다. 다운로드 시 현재 운영체제에 대한 정보를 알아야 하며, centos 시스템의 경우 다음 주소에 해당하는 바이너리 파일을 선택하여 다운로드할 수 있습니다.

https://download.docker.com/linux/static/stable/x86_64/ docker-version number.tgz

1.2 Docker 바이너리 파일 설치

설치 시 다운로드한 바이너리 파일의 압축을 풀고 압축을 풀어야 합니다. docker 및 dockerd 파일을 /usr/bin 디렉터리로 이동합니다.

tar -xvf docker-version number.tgz
cp docker/* /usr/bin

2. yum 소스를 구성하여 설치

centos 시스템에서는 yum 소스를 구성하여 오프라인으로 Docker를 설치할 수 있습니다. 구체적인 단계는 다음과 같습니다.

2.1 Docker의 yum 소스를 구합니다

공식 웹사이트 https://www.docker.com/에서 해당 버전의 Docker 설치 패키지를 다운로드합니다. 다운로드 시에는 현재 운영 체제에 대한 정보를 알고 있어야 하며, 시스템 버전에 해당하는 rpm 패키지를 다운로드해야 합니다.

2.2 새 로컬 yum 소스 만들기

로컬에서 새 yum 소스 디렉터리를 만들고 다운로드한 Docker 설치 패키지를 이 디렉터리에 복사한 다음 createrepo 명령

mkdir /var/docker
cp docker-ce *를 통해 디렉터리를 만듭니다. .rpm /var/docker
createrepo /var/docker

2.3 yum 소스 구성

/etc/yum.repos.d 디렉터리에 새 repo 파일을 생성하고 다음 내용을 작성합니다

[docker-local]
이름 =Docker Local repo
baseurl=file:///var/docker
enabled=1
gpgcheck=0

2.4 Docker 설치

다음 명령을 실행하여 Docker

yum install docker-ce

2를 설치하세요. 해결책

1. 문제 설명

위의 Docker 오프라인 설치를 완료한 후 다음 오류와 함께 Docker를 시작하지 못할 수 있습니다.

$ sudo systemctl start docker
제어 프로세스가 종료되어 docker.service에 대한 작업이 실패했습니다.
자세한 내용은 "systemctl status docker.service" 및 "journalctl -xe"를 참조하세요.

systemctl status docker.service 명령을 실행하면 시작 실패의 원인이 docker.service 파일의 "ExecStart"임을 알 수 있습니다. "명령을 성공적으로 실행하지 못했습니다.

$ sudo systemctl status docker.service
...
Apr 30 07:40:32 localhost.localdomain systemd[1]: Docker 애플리케이션 컨테이너 엔진을 시작했습니다.
Apr 30 07:40: 32 localhost .localdomain systemd[1]: docker.service: 기본 프로세스 종료, 코드=종료, 상태=1/FAILURE
Apr 30 07:40:32 localhost.localdomain systemd[1]: 장치 docker.service가 실패 상태로 전환되었습니다.
4월 30일 07:40:32 localhost.localdomain systemd[1]: docker.service가 실패했습니다.
4월 30일 07:40:32 localhost.localdomain systemd[1]: docker.service 보류 시간이 초과되어 일정이 다시 시작됩니다.
4월 30일 07: 40:32 localhost.localdomain systemd[1]: Docker 애플리케이션 컨테이너 엔진이 중지되었습니다.

$sudo Journalctl -xe
dockerd-current[14552]: time="2020-04-30T07:40:32.652790118+08:00 " level =error msg="systemd 알리미 실패: systemd 모듈 "libsystemd.so"를 로드할 수 없습니다: 공유를 열 수 없습니다 o
dockerd-current[14552]: 데몬 시작 실패: 네트워크 컨트롤러 초기화 오류: 브리지 주소 목록 실패: Pre DefinedLocalScopeDefaultNetworks 목록 실패: 사전 정의된
dockerd-current[14552]: 데몬 시작 오류: 네트워크 컨트롤러 초기화 오류: 브리지 주소 목록 실패: PredefineLocalScopeDefaultNetworks 목록 실패: 사전 정의된
systemd[1]: docker.service: 기본 프로세스 종료, 코드=종료, 상태 =1 /FAILURE
systemd[1]: Docker Application Container Engine을 시작하지 못했습니다.
systemd[1]: 장치 docker.service가 실패 상태로 전환되었습니다.
systemd[1]: docker.service가 실패했습니다.

2.

위 오류 메시지를 통해 Docker가 시작되지 않는 이유는 Docker의 네트워크 컨트롤러를 시작할 수 없기 때문임을 알 수 있습니다. 구체적으로는 Docker의 네트워크 컨트롤러가 iptables 방화벽을 통해 컨테이너 네트워크를 관리하는데, 방화벽은 기본적으로 로컬이 아닌 트래픽을 모두 금지하기 때문입니다. Docker의 경우 처음 시작하면 관련 규칙이 iptables에 자동으로 추가됩니다. 그러나 오프라인으로 설치된 Docker를 처음 시작하면 규칙 추가가 실패하여 네트워크 컨트롤러가 시작되지 않습니다. 구체적인 표현은 사용자가 Docker를 시작할 때 Docker가 로컬 IP 주소를 기반으로 docker0이라는 브리지를 자동으로 생성한다는 것입니다. 이 작업이 실패하면 Docker가 시작될 수 없습니다.

3. 문제 해결

이 문제를 해결하는 두 가지 주요 방법이 있습니다.

3.1 docker0 브리지 생성

docker0 브리지를 수동으로 생성하면 이 문제를 해결할 수 있습니다. centos에서는 다음 명령을 실행하여 docker0 네트워크 브리지를 수동으로 생성할 수 있습니다. :

sudo ip link add name docker0 type bridge
sudo ip addr add dev docker0 172.17.0.1/16
sudo ip link set dev docker0 up

위 작업을 완료한 후 Docker를 다시 시작하고 관리자 권한으로 다음 명령을 실행하세요. :

$ sudo systemctl start docker

를 사용하여 Docker 시작을 완료합니다.

3.2 방화벽 규칙 수정

방화벽을 끄거나 방화벽 규칙을 수정하는 것도 이 문제를 해결하는 효과적인 방법입니다. 방화벽을 끄는 경우 다음 명령을 사용할 수 있습니다.

$ systemctl stop Firewalld
$ systemctl 비활성화 Firewalld

그러나 이러한 상황은 보안 요구 사항에 따라 시스템의 방화벽을 최대한 유지하는 것이 좋습니다. .

iptables 규칙을 수정하려면 다음 명령을 통해 규칙을 추가할 수 있습니다.

$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -I FORWARD -j ACCEPT
$ sudo service iptables save

수행 후 위 작업을 다시 시작하면 Docker가 정상적으로 시작할 수 있습니다.

3. 요약

본 글의 소개를 통해 Docker를 오프라인으로 설치하는 경우 네트워크 문제로 인해 Docker가 시작되지 않을 수 있음을 알 수 있습니다. 현재 Docker의 네트워크 컨트롤러의 작동 원리를 이해하고 이를 수동으로 구성하거나 iptables 방화벽을 특정 수정하여 Docker 시작 실패 문제를 최종적으로 해결해야 합니다. 물론 특정 오류 메시지를 적시에 확인하고 분석을 수행함으로써 이러한 문제를 해결할 수도 있습니다.

따라서 Docker를 오프라인으로 설치하고 시작하는 동안 주의와 인내심을 갖고 계속 실험하고 디버그하여 마침내 문제를 해결하는 데 적합한 방법을 찾아야 합니다.

위 내용은 Docker 오프라인 설치를 시작하지 못했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

Ubuntu, Centos 및 Debian에 Docker를 설치하고 사용하는 방법은 다릅니다. 1) Ubuntu : APT 패키지 관리자를 사용하여 명령은 sudoapt-getupdate && sudoapt-getinstalldocker.io입니다. 2) Centos : Yum 패키지 관리자를 사용하면 Docker 저장소를 추가해야합니다. 이 명령은 SudoyuminStall-Yyum-utils && sudoyum-config-manager--add-repohttps : //download.docker.com/lin입니다

Docker 마스터 링 : Linux 사용자를위한 안내서Docker 마스터 링 : Linux 사용자를위한 안내서Apr 18, 2025 am 12:08 AM

Linux에서 Docker를 사용하면 개발 효율성을 향상시키고 응용 프로그램 배포를 단순화 할 수 있습니다. 1) Ubuntu 이미지를 당기기 : Dockerpullubuntu. 2) 우분투 컨테이너 실행 : Dockerrun-itubuntu/bin/bash. 3) nginx를 포함하는 dockerfile : fromubuntu; runapt-getupdate && apt-getinstall-ynginx; Expose80을 만듭니다. 4) 이미지를 빌드 : DockerBuild-tmy-nginx. 5) 컨테이너 실행 : Dockerrun-D-P8080 : 80

Linux의 Docker : 응용 프로그램 및 사용 사례Linux의 Docker : 응용 프로그램 및 사용 사례Apr 17, 2025 am 12:10 AM

Docker는 Linux의 응용 프로그램 배포 및 관리를 단순화합니다. 1) Docker는 응용 프로그램과 그 종속성을 경량 및 휴대용 컨테이너로 포장하는 컨테이너화 된 플랫폼입니다. 2) Linux에서 Docker는 CGroup 및 네임 스페이스를 사용하여 컨테이너 격리 및 리소스 관리를 구현합니다. 3) 기본 사용에는 이미지를 당기고 컨테이너를 실행하는 것이 포함됩니다. DockerCompose와 같은 고급 사용법은 다중 컨테이너 응용 프로그램을 정의 할 수 있습니다. 4) 일반적으로 사용되는 DockerLogs 및 DockerExec 명령 디버그. 5) 성능 최적화는 다단계 구성을 통해 이미지 크기를 줄일 수 있으며 Dockerfile을 단순하게 유지하는 것이 가장 좋은 방법입니다.

Docker : 이식성 및 확장 성을위한 컨테이너화 응용 프로그램Docker : 이식성 및 확장 성을위한 컨테이너화 응용 프로그램Apr 16, 2025 am 12:09 AM

Docker는 응용 프로그램을 패키지, 배포 및 실행하는 데 사용되는 Linux 컨테이너 기술 기반 도구입니다. 1) DockerBuild 및 Dockerrun 명령을 사용하여 Docker 컨테이너를 구축하고 실행할 수 있습니다. 2) DockerCompose는 마이크로 서비스 관리를 단순화하기 위해 멀티 컨테이너 Docker 응용 프로그램을 정의하고 실행하는 데 사용됩니다. 3) 다단계 구성을 사용하면 이미지 크기를 최적화하고 응용 프로그램 시작 속도를 향상시킬 수 있습니다. 4) 컨테이너 로그보기는 컨테이너 문제를 디버깅하는 효과적인 방법입니다.

Docker가 컨테이너를 시작하는 방법Docker가 컨테이너를 시작하는 방법Apr 15, 2025 pm 12:27 PM

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.

Docker에서 로그를 보는 방법Docker에서 로그를 보는 방법Apr 15, 2025 pm 12:24 PM

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 컨테이너의 이름을 확인하는 방법Docker 컨테이너의 이름을 확인하는 방법Apr 15, 2025 pm 12:21 PM

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 ​​있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker 용 컨테이너를 만드는 방법Docker 용 컨테이너를 만드는 방법Apr 15, 2025 pm 12:18 PM

Docker에서 컨테이너 만들기 : 1. 이미지를 당기기 : Docker Pull [Mirror Name] 2. 컨테이너 만들기 : Docker Run [옵션] [미러 이름] [명령] 3. 컨테이너 시작 : Docker Start [컨테이너 이름]

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

PhpStorm 맥 버전

PhpStorm 맥 버전

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