码头工人.使用dockerfile创建映像时出错



我需要将我的项目容器化。我使用Intellij理念和我在Intellij终端中编写的所有命令。我使用的命令:

$ mvn package
$ docker build -f Dockerfile -t week10 .

图片你好世界工作正常。我创建了可执行jar和Dockerfile。当我输入创建图像的命令时,我得到以下错误:

连接期间出错:Posthttp://%2F%2F.%2管道%2Docker_engine/v.40/内部版本?buildargs=%7B%7D&cachefrom=%5B%5D&cgrouparent=&cpuperiod=0&cpu阔ta=0&cpusetcpus=&cpusetmems=&cpushares=0&做ckerfile=Dockerfile&标签=%7B%7D&内存=0&memswap=0&networkmode=默认&rm=1&session=jaukgloaecpwv5Hch49bgfcak&shmsize=0&t=第10周&target=&ulimits=null&版本=1:打开///pipe/docker_en-gine:系统找不到该文件指定。在Windows上的默认守护进程配置中,docker客户端必须提升运行才能连接。此错误也可能表明docker守护进程没有运行。

Dockerfile:

FROM openjdk:8-jdk-alpine
ADD target/week10-1.0-SNAPSHOT.jar week10.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","week10.jar"]

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>week10</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.6.RELEASE</version>
<configuration>
<finalName>week10</finalName>
<mainClass>com.fruitshop.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<start-class>com.fruitshop.Application</start-class>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>

你可以在这里看到我的整个项目:项目

我不知道我做错了什么。请说明问题是什么以及我如何解决

错误不是由Dockerfile引起的,而是与该部件有关:

在Windows上的默认守护进程配置中,docker客户端必须被提升运行以连接

您可以这样做来切换Docker守护进程:

  1. 以管理员身份打开Powershell
  2. 运行以下命令:

cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon

我解决了这个错误。如果您有同样的错误,您需要在终端中输入以下命令:

Docker-machine env default

然后你需要输入你在屏幕上显示的集合,例如:

SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=<your home path>.dockermachinemachinesdefault
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true```

最新更新