Win10에서 docker 설치 및 사용(그림과 텍스트로 자세한 설명)
이 기사는 win10에서 docker를 설치하고 사용하는 방법에 대한 관련 지식을 제공합니다. 도움이 되기를 바랍니다.
1. Docker 설치
환경 준비
Windows용 Docker는 Docker Community Edition(CE) 애플리케이션입니다. Windows용 Docker 설치 패키지에는 Windows 시스템에서 Docker를 실행하는 데 필요한 모든 것이 포함되어 있습니다. 가상 머신을 설치하지 않고 Windows 운영 체제에 Docker를 직접 설치하고 사용하는 방법을 배우려면 먼저 시스템이 Windows용 Docker의 설치 및 사용 요구 사항을 충족하는지 확인해야 합니다.
Windows용 Docker의 현재 버전은 64비트 Windows 10 Pro, Professional, Enterprise 및 Education 버전(1607 1주년 업데이트, 버전 14393 이상)에서 실행됩니다. Ps: 홈 버전은 불가능합니다. 홈 버전인 경우 먼저 프로 버전으로 업그레이드하는 것이 좋습니다. 프로 버전 크래킹을 위한 권장 주소는 http://blog.csdn.net/SONGCHUNHONG/article입니다. /details/78006389 두 번째는 Docker Toolbox, 온라인 셀프 서비스 Baidu http://blog.csdn.net/tina_ttl/article/details/51372604
Docker의 환경 조건을 충족하는 경우입니다. Windows의 경우 먼저 컴퓨터의 가상화가 켜져 있는지 확인하십시오. 작업 관리자를 입력(ctrl+alt+delete)하고 성능->cpu를 클릭하여 가상화가 활성화되어 있는지 확인하십시오. 가상화가 비활성화된 경우에는 다시 시작해야 합니다. 컴퓨터를 열고 BIOS에 들어가 가상화를 활성화합니다(저희 노트북 CPU는 모두 가상화를 지원합니다. 다시 시작할 때 BIOS에 들어가서 esc ->를 누른 다음 f12 ->를 눌러 가상화를 활성화합니다)
다시 시작한 후 가상화를 활성화합니다. 가상화가 활성화되어 있는지 확인하려면 작업 관리자를 입력하십시오.
그런 다음 컴퓨터 제어판 -> 프로그램 -> Windows 기능 활성화 또는 끄기 -> Hyper-v를 선택하면 컴퓨터가 다시 시작됩니다. 윈도우.
다운로드 및 설치
다운로드하고 설치하려면 URL https://docs.docker.com/docker-for-windows/install/#download-docker-for-windows를 입력하세요. 저는 안정 버전을 설치했습니다. 설치 과정에서 주의할 점은 없습니다.
시작 후 바탕화면 오른쪽 하단에 마우스를 올려놓으면 Docker가 실행 중이라는 메시지가 표시되어 처음 설치하고 활성화하면 성공했음을 알립니다. 그러면 Docker Cloud 로그인 인터페이스가 나타납니다. 등록하고 로그인하세요. 사용 git과 다소 유사하며 이미지를 가져올 수 있습니다
2. 시작하기
Docker, Compose 및 Machine의 버전을 확인하세요
-
버전 정보를 확인하고 docker 명령이 작동하는지 확인하세요. -
docker run hello-world를 실행하세요. Docker Hub에서 이미지 가져오기를 테스트하고 컨테이너 시작 -
docker run -it ubuntu bash 컨테이너 명령을 사용하여 Ubuntu를 실행합니다. 이전에 이 컨테이너를 가져온 적이 있는데 크기가 수십 메가바이트이므로 직접 활성화했습니다. .exit 명령을 입력하여 컨테이너 -
명령을 실행하고 docker run -d -p 80:80 –name webserver nginx Dockerized 웹 서버를 시작하면 nginx 컨테이너 이미지가 다운로드되어 시작된 다음 브라우저가 열립니다. 그리고 http://localhost -
를 입력하여 docker ps 명령을 실행하여 컨테이너 세부 정보를 확인하세요 컨테이너와 이미지를 중지하거나 제거하세요. 웹 서버를 중지하려면 docker stop webserver를 입력한 다음 docker start webserver를 다시 시작하세요. 단일 명령으로 실행 중인 컨테이너를 중지하고 삭제하려면 docker rm -f webserver를 입력합니다. 컨테이너는 삭제되지만 nginx 이미지는 삭제되지 않습니다. 로컬 이미지 docker 이미지를 나열할 수 있습니다. Docker Hub에서 다시 가져올 필요가 없도록 일부 이미지를 보관할 수 있습니다. 더 이상 필요하지 않은 이미지를 삭제하려면 docker rmi 뒤에 이미지 ID 또는 이미지 이름을 사용하세요. 예를 들어, docker rmi nginx
3. Docker의 공통 구성
PowerShell에서 탭 키 자동 완성 설정(실제로 모든 실제 키는 cmd.exe입니다)
- PowerShell을 시작합니다(즉, 회원으로 실행을 관리하세요). PowerShell을 검색하고 마우스 오른쪽 버튼을 클릭한 후 관리자 권한으로 실행을 선택합니다. PowerShell 프롬프트에서 다음을 입력하세요.
Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy RemoteSigned
- 检查策略设置是否正确,运行:
get-executionpolicy
应该返回RemoteSigned。 - 安装posh-dockerPowerShell模块以自动完成Docker命令,键入:
Install-Module posh-docker
或者,要仅为当前用户安装模块,键入:Install-Module -Scope CurrentUser posh-docker
- 安装完成后,只能为当前PowerShell启用自动完成功能,输入:
Import-Module posh-docker
- 为了在所有PowerShell会话中保持Tab完成状态$PROFILE,请在PowerShell提示符处输入:
if (-Not (Test-Path $PROFILE)) { New-Item $PROFILE –Type File –Force}Add-Content $PROFILE "`nImport-Module posh-docker"
这将创建一个$PROFILE
如果不存在,并将此行添加到文件中: Import-Module posh-docker
要检查文件是否已正确创建,或只需手动编辑,请在PowerShell中键入以下内容: Notepad $PROFILE
정책 설정이 올바른지 확인하려면 다음을 실행하세요. get-executionpolicy
RemoteSigned가 반환되어야 합니다.
Install-Module posh-docker
를 입력하세요. 또는 현재 사용자에게만 모듈을 설치하려면 다음을 입력하세요.
Install- Module -Scope CurrentUser posh-docker
설치가 완료된 후 현재 PowerShell에 대해서만 자동 완성을 활성화할 수 있습니다. Import-Module posh-docker
탭 완료 상태를 유지하려면 다음을 입력하세요. 모든 PowerShell 세션 $PROFILE에서 PowerShell 프롬프트에 다음을 입력합니다.
- 이렇게 하면
$PROFILE
이 없으면 생성되고 파일에 다음 줄이 추가됩니다.
새 PowerShell 세션을 엽니다. 이제 처음 몇 글자를 입력한 후 Tab 키를 누르면 시작, 중지, 실행 및 해당 옵션, 컨테이너 및 이미지 이름과 같은 Docker 명령이 자동 완성됩니다.Import-Module posh-docker
파일이 올바르게 생성되었는지 확인하거나 수동으로 편집하려면 PowerShell에 다음을 입력하세요.Notepad $PROFILE
Settings
- 오른쪽 하단에서 docker 아이콘을 찾아 마우스 오른쪽 버튼을 클릭하고 설정을 선택하여 들어갑니다
일반: 부팅 시 docker가 자동으로 시작되도록 하는 설정은 다음과 같습니다. 애플리케이션이 시작되고 사용 통계가 게시됩니다
1.Dockerfile:# Use an official Python runtime as a parent imageFROM python:2.7-slim# Set the working directory to /appWORKDIR /app# Copy the current directory contents into the container at /appADD . /app# Install any needed packages specified in requirements.txtRUN pip install --trusted-host pypi.python.org -r requirements.txt# Make port 80 available to the world outside this containerEXPOSE 80# Define environment variableENV NAME World# Run app.py when the container launchesCMD ["python", "app.py"]2.app.py: from flask import Flask from redis import Redis, RedisError import os import socket# Connect to Redisredis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)app = Flask(__name__)@app.route("/")def hello(): try: visits = redis.incr("counter") except RedisError: visits = "<i>cannot connect to Redis, counter disabled</i>" html = "<h3 id="Hello-name">Hello {name}!</h3>" \ "<b>Hostname:</b> {hostname}<br>" \ "<b>Visits:</b> {visits}" return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)if __name__ == "__main__": app.run(host='0.0.0.0', port=80)3. requirements.txt: Flask Redis
Daemon: Windows10용 Docker는 Alibaba Cloud 이미지를 구성할 수 있습니다. https://cr.console로 이동하세요. aliyun.com/ 계정을 등록하려면 로그인한 다음 목록을 작성하세요. 가속기를 선택하고 전용 가속기 주소를 복사하여 Daemon's Registry 미러에 붙여넣으세요
1.Dockerfile:# Use an official Python runtime as a parent imageFROM python:2.7-slim# Set the working directory to /appWORKDIR /app# Copy the current directory contents into the container at /appADD . /app# Install any needed packages specified in requirements.txtRUN pip install --trusted-host pypi.python.org -r requirements.txt# Make port 80 available to the world outside this containerEXPOSE 80# Define environment variableENV NAME World# Run app.py when the container launchesCMD ["python", "app.py"]2.app.py: from flask import Flask from redis import Redis, RedisError import os import socket# Connect to Redisredis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)app = Flask(__name__)@app.route("/")def hello(): try: visits = redis.incr("counter") except RedisError: visits = "<i>cannot connect to Redis, counter disabled</i>" html = "<h3 id="Hello-name">Hello {name}!</h3>" \ "<b>Hostname:</b> {hostname}<br>" \ "<b>Visits:</b> {visits}" return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)if __name__ == "__main__": app.run(host='0.0.0.0', port=80)3. requirements.txt: Flask Redis
构建镜像
在docker目录下打开cmd.exe运行命令(确保能够找到Dockerfile文件,镜像取名叫friendlyhello): docker build -t friendlyhello .
ps:千万不要落了上面那行后面的那个点,曾经入过坑的。。命令包括后面的那个点
然后再执行命令:
docker images
运行镜像程序:
docker run -p 4000:80 friendlyhello
可以看到Python正在为应用程序提供消息的http://0.0.0.0:80。但是,这个消息来自容器内部,它不知道我们将该容器的端口80映射到4000,从而打开URL: http://localhost:4000
停止容器运行
首先在接着上面的操作步骤后按下ctrl+c在终端退出,这并不意味着镜像停止运行了
键入docker container ls 列出正在运行的容器
运行命令: docker container stop <container name or id></container>
停止容器。否则,在下一步中重新运行容器时,将会收到错误响应。
5.联系Docker Hub的常用操作
登录到Docker Hub
前面已经说过了,docker和git的操作有类似之处,所以docker也
有远程仓库,如果前面已经注册过并登录了docker cloud,那么
访问网址:https://hub.docker.com 在里面创建存储库,否则先
注册吧。
push镜像
前面在本地创建了一个friendlyhello的镜像,现在要把它push到
自己的docker hub的存储库中去,首先:
1. 登录docker hub (我已经登录过了。。再登录一次吧)
2. 标记镜像:
把镜像放入wangliguo存储库并标记为test
3. 查看镜像:
4. 发布镜像(推送镜像)
5. Docker Hub上查看镜像:
6. 从远程存储库中提取并运行镜像:现在当远程存储库有了镜像后,就可以从远程存储库提取并运行了
6.服务
在分布式应用程序中,应用程序的不同部分被称为“服务”。例如,想象一个视频共享站点,它可能包括用于将应用程序数据存储在数据库中的服务,用于用户上传东西的视频转码服务,为前端服务等等。
服务实际上只是“生产中的容器”。服务只运行一个镜像,但它编码镜像运行的方式 - 应该使用哪个端口,容器应该运行多少个副本,以便服务具有所需的容量,以及等等。缩放服务会更改运行该软件的容器实例的数量,从而为流程中的服务分配更多的计算资源。
使用Docker平台定义,运行和扩展服务非常简单 - 只需编写一个docker-compose.yml文件即可。
创建一个docker-compose.yml文件
键入:
version: "3"services: web: # replace username/repo:tag with your name and image details image: 15433/wangliguo:test deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure ports: - "80:80" networks: - webnet networks: webnet:
拉取的是上个步骤中的存储库的tag。
运行该镜像的5个实例作为一个服务调用web,限制每个使用,最多10%的CPU(跨所有核心)和50MB的RAM。
如果一个失败,立即重新启动容器。
将主机上的端口80映射到web端口80。
指导web容器通过一个负载平衡的网络共享80端口webnet。(在内部,容器本身将web在临时端口上发布到 端口80)。
webnet使用默认设置(这是一个负载平衡覆盖网络)定义网络。
运行新的负载均衡应用程序
先运行命令:docker swarm init
然后再运行命令:docker stack deploy -c docker-compose.yml getstartedlab
给它取名叫getstartedlab
服务堆栈在这台主机上运行了5个部署镜像的容器实例
运行命令查看:docker service ls
在服务中运行的单个容器称为任务,可以看到上面有个getstartedlab_web的服务
运行命令docker service ps getstartedlab_web 查看此服务下的任务:
如果只列出系统中的所有容器,也会显示任务,但不会被服务过滤:
运行命令:docker container ls -q
然后打开浏览器,键入http://localhost
点击刷新多次,可以发现Hostname的更改,以循环方式选择5个任务中的一个来响应。容器ID将与前一个命令(docker container ls -q)的输出相匹配。
更改应用程序
比如更改docker-compose.yml中的replicas值,保存更改并重新运行docker stack deploy命令来更新应用程序:
运行命令:
docker stack deploy -c docker-compose.yml getstartedlab
Docker会做一个就地更新,然后重新运行docker container ls -q以查看重新配置的已部署实例
可以看到之前是6个,现在是7个,刚好多了一个任务
ps:电脑中还运行这之前步骤中从docker hub中拉取并运行着的那个任务,所以会看到6个和7个
애플리케이션과 그룹을 닫습니다
애플리케이션 docker 스택을 닫습니다 rm getstartedlab
그룹을 닫습니다 docker swarm Leave –force
이제 명령을 실행하기 전에 서비스의 모든 작업이 닫힙니다.
docker Container ls -q
이것은 이전 단계
7에서 docker 허브에서 가져와 실행한 작업입니다. Cluster
클러스터 이해
swarm은 Docker를 실행하고 클러스터에 참여하는 머신 그룹입니다. 그러나 이제는 클러스터 관리자에 의해 클러스터에서 실행됩니다. 떼의 기계는 물리적이거나 가상일 수 있습니다. 그룹에 가입한 후 이를 노드라고 합니다.
Swarm 관리자는 가장 적게 사용되는 시스템을 컨테이너로 채우는 "가장 빈 노드"와 같은 컨테이너를 실행하기 위해 여러 전략을 사용할 수 있습니다. 또는 "전역"은 각 시스템이 특정 컨테이너의 인스턴스 하나만 가져오도록 보장합니다. Compose 파일에서 이러한 정책을 사용하도록 떼 관리자에게 지시할 수 있습니다.
그룹 관리자는 명령을 실행하거나 다른 컴퓨터가 그룹에 작업자로 참여하도록 승인할 수 있는 그룹 내 유일한 컴퓨터입니다. 작업자는 기능을 제공하지만 다른 기계에게 자신이 할 수 있는 것과 할 수 없는 것을 말할 권한이 없습니다.
지금까지 저는 로컬 컴퓨터에서 단일 호스트 모드로 Docker를 사용해 왔습니다. 그러나 Docker는 클러스터 모드로 전환할 수도 있으므로 클러스터링이 사용됩니다. 스웜 모드를 활성화하면 현재 머신이 스웜 관리자가 됩니다. 그러면 Docker는 현재 머신뿐만 아니라 관리 중인 클러스터에서 실행되는 명령을 실행합니다.
클러스터 만들기
클러스터는 물리적 머신일 수도 있고 가상 머신일 수도 있는 여러 노드로 구성됩니다. 기본 개념은 간단합니다. docker swarm init를 실행하여 스웜 모드를 활성화하고 현재 머신을 스웜 관리자로 만든 다음 다른 머신에서 docker swarm Join을 실행하여 스웜을 작업자로 조인합니다. 아래에서는 가상 머신을 사용하여 두 머신으로 구성된 클러스터를 신속하게 생성하고 이를 클러스터로 전환합니다.
단계:
1. 관리자가 cmd.exe를 실행해야 합니다. 그렇지 않으면 후속 작업에 대한 권한이 충분하지 않습니다.
2. docker swarm init를 실행하여 Swarm 모드를 활성화하고 현재 머신을 만듭니다. 떼 관리자, 그리고 docker 떼 조인이 다른 컴퓨터에서 실행되어 이들이 워커로 떼에 합류할 수 있습니다.
3. Hyper-V 관리자 시작
시작→Windows 관리 도구→Hyper-V 관리자 클릭
4. 오른쪽 메뉴에서 가상 스위치 관리자 클릭
5. 가상 스위치의 외부 네트워크 유형 생성을 클릭하고, 이름을 myswitch로 지정하고 호스트의 활성 네트워크 어댑터 공유
확인란을 선택합니다. 6. 노드 관리 도구 docker-machine을 사용하여 몇 가지 가상 머신을 생성합니다.
docker-machine create -d hyperv –hyperv- virtual-switch “myswitch” ” myvm1
docker-machine create -d hyperv –hyperv-virtual-switch “myswitch” myvm2
이미 이전에 생성했으므로 이제 myvm3 및 myvm4
docker-machine create -d hyperv – hyperv-virtual-switch “myswitch” myvm3
docker-machine create -d hyperv –hyperv-virtual-switch “myswitch” myvm4
7. 이제 각각 myvm3 및 myvm4라는 두 개의 가상 머신이 생성됩니다.
docker-machine ls 명령을 사용하여 머신을 나열하고 해당 IP 주소를 가져옵니다.
初始化群并添加节点
先使用命令docker-machine ssh myvm3
然后让myvm3 成为一个管理员:docker swarm init
注意红框中的内容,这是后面的myvm4 加入集群要执行的命令
运行命令:docker node ls
可以看到myvm3 已经成为管理员了以管理员身份再运行一个cmd.exe.然后运行命令:docker-machine ssh myvm4
然后再运行命令:(这就是上一页中图片里红框中的内容,下面的token是我这里的,正常运行到这里的时候是去myvm3的docker swarm init命令中把红框框位置里的命令复制粘贴过来执行)
docker swarm join --token SWMTKN-1-0csyw4yz6uxob90h0b8ejoimimrgisiuy9t2ugm8c1mxfvxf99-7q7w5jw1mrjk1jlri2bcgqmu8 10.211.106.194:2377
然后再切换到myvm3 的cmd.exe中执行命令:docker node ls
可以看到,我们已经创建了一个简单的集群。、
附离开群命令:docker swarm leave
在集群上部署应用程序
docker-machine为swarm管理器配置一个shell
运行命令:docker-machine env myvm3
注意最后一行的内容
我这里是@FOR /f "tokens=*" %i IN ('docker-machine env myvm3') DO @%i
复制粘贴运行它
再运行docker-machine ls以验证它myvm3 是否为活动机器在swarm管理器上部署应用程序
以部署我们之前docker-compose.yml服务为例
首先在这个以管理员身份打开的cmd中进入到docker-compose.yml文件的所在的目录中去,我的因为在D/docker中,如果不过来,那么执行命令:
docker stack deploy -c docker-compose.yml getstartedlab会出现:
进入目录后执行上面那条命令:
再执行命令docker stack ps getstartedlab 查看服务详情:
如果发现state存在shutdown的情况(也有可能出现你的图片上的实例数量大于你在服务文件中定义的数量的情况,这都是我爬过的坑,现在我这里定义的是6,图片上也是6,),那应该是你在之前服务哪一章运行过命令:
docker stack deploy -c docker-compose.yml getstartedlab 而没有把getstartedlab移除掉
这时应该执行命令:docker stack rm getstartedlab 把getstartedlab移除掉
Ps:我是d,c盘都执行了这个命令,因为之前运行docker stack deploy -c docker-compose.yml getstartedlab命令是在d盘的时候
然后重新运行:docker stack deploy -c docker-compose.yml getstartedlab 和
docker stack ps getstartedlab 就好了浏览器访问集群的网址:
如图红框框所示,浏览器上访问其中的任何一个,然后刷新,将看到6个可能的容器ID,它们都是随机循环的,展示了负载平衡- 其他的一些命令:
比如说如果修改了docker-compose.yml文件后,执行命令: docker stack deploy -c docker-compose.yml getstartedlab 再次运行以部署这些更改即可 比如说前面提到的移除应用程序:docker stack rm getstartedlab 离开群:docker swarm leave –force 重新启动已停止的虚拟机,执行: docker-machine start <machine-name></machine-name>
추천 학습: "docker 비디오 튜토리얼"
위 내용은 Win10에서 docker 설치 및 사용(그림과 텍스트로 자세한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











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

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.

Docker 컨테이너를 다시 시작하는 방법 : 컨테이너 ID (Docker PS)를 가져옵니다. 컨테이너 중지 (Docker Stop & lt; container_id & gt;); 컨테이너를 시작하십시오 (Docker start & lt; container_id & gt;); 재시작이 성공했는지 확인하십시오 (Docker PS). 기타 방법 : Docker Compose (Docker-Compose Restart) 또는 Docker API (Docker 문서 참조).

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

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

도커 프로세스보기 방법 : 1. Docker CLI 명령 : Docker PS; 2. Systemd Cli 명령 : SystemCTL 상태 Docker; 3. Docker Compose CLI 명령 : Docker-Compose PS; 4. 프로세스 탐색기 (Windows); 5. /Proc Directory (Linux).

실패한 Docker 이미지 빌드에 대한 문제 해결 단계 : Dockerfile 구문 및 종속성 버전을 확인하십시오. 빌드 컨텍스트에 필요한 소스 코드 및 종속성이 포함되어 있는지 확인하십시오. 오류 세부 사항에 대한 빌드 로그를보십시오. -표적 옵션을 사용하여 계층 적 단계를 구축하여 실패 지점을 식별하십시오. 최신 버전의 Docker Engine을 사용하십시오. -t [image-name] : 디버그 모드로 이미지를 빌드하여 문제를 디버깅하십시오. 디스크 공간을 확인하고 충분한 지 확인하십시오. 빌드 프로세스에 대한 간섭을 방지하기 위해 Selinux를 비활성화하십시오. 커뮤니티 플랫폼에 도움을 요청하고 Dockerfiles를 제공하며보다 구체적인 제안을 위해 로그 설명을 구축하십시오.
