Questions tagged «docker»

Docker是构建和运行容器的工具。接受有关Dockerfile,操作和架构的问题。有关在生产环境中运行docker的问题可能会在ServerFault(https://serverfault.com/)上找到更好的响应。docker标签很少单独使用,通常与docker-compose和kubernetes等其他标签搭配使用。

5
使用docker时virtualenv是否达到目的(在生产中)?
对于开发,在涉及依赖项时,我们使用virtualenv进行独立开发。从这个问题来看,似乎在虚拟环境 被推荐。 现在我们开始使用 码头工人进行部署。这提供了一个更隔离的环境,因此我质疑docker容器内virtualenv的使用。对于单个应用程序,我不认为virtualenv有目的,因为docker已经提供了隔离。在将多个应用程序部署在单个docker容器上的情况下,我确实认为virtualenv具有用途,因为这些应用程序可能具有冲突的依赖关系。 在Docker容器中部署单个应用程序时应使用virtualenv吗? docker应该包含多个应用程序,还是每个容器仅包含一个应用程序? 如果是这样,那么在部署具有多个应用程序的容器时是否应该使用virtualenv?

3
Dockerfile可以扩展另一个文件吗?
我有一个像这样的PHP Dockerfile: FROM php:7-fpm ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && \ apt-get install -y git libicu-dev libmagickwand-dev libmcrypt-dev libcurl3-dev jpegoptim RUN pecl install imagick && \ docker-php-ext-enable imagick RUN docker-php-ext-install intl RUN docker-php-ext-install pdo_mysql RUN docker-php-ext-install opcache RUN docker-php-ext-install mcrypt RUN docker-php-ext-install curl RUN docker-php-ext-install zip 我想基于第一个创建另一个Dockerfile,但是添加了一些PHP扩展(出于开发目的):Xdebug和其他东西。 我可以创建扩展主Dockerfile的“ dev” …

2
为什么Docker能够运行不同的Linux发行版?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 我们可以使用docker拉取不同的图像。而且这些映像是Linux发行版的不同。但是,无论运行在哪个Linux发行版docker上,docker都可以像在虚拟机中一样运行这些不同的linux发行版。 我知道docker使用aufs来控制不同的读写访问级别。因此它可以重用主机上的某些文件。但是apt-get当我的主机运行时,docker如何在容器中运行arch linux?图像是否包含apt-get二进制文件?但是,不同的Linux发行版具有不同的库和软件版本。即使配置文件也不同。docker如何在arch linux中“运行” ubuntu?
68 linux  docker 

25
Docker命令失败(在Windows中)
我试图在Windows计算机上使用Docker,并且似乎遇到了所有可能的问题。我最近的一个是:我的机器正在运行,但是我似乎无法使用docker命令与之交互。如果我运行一个非常标准的命令,例如: docker ps 我收到这样的错误消息: An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v 1.23/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. 因此,显然有些路径被弄乱了。有谁知道这是哪条路以及如何解决?
68 docker 

1
如何删除使用wget安装的docker?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 改善这个问题 我已经使用docker.com上的安装教程安装了docker wget https://get.docker.com/ | sh。现在,我需要将其完全删除。apt-get remove docker,apt-get --auto-remove docker,apt-get remove docker.io,apt-get --auto-remove docker.io或任何其他组合不工作,因为我没有使用apt-get安装它。有什么方法可以比手动删除docker快得多? (如果有任何区别,我正在使用Ubuntu 14.04)。

3
我无法安装Docker,因为containerd.io没有安装候选对象
我试图在Kubuntu 19.10上安装Docker。 我使用以下步骤进行安装:https : //docs.docker.com/install/linux/docker-ce/ubuntu/ 在步骤2期间,添加存储库和密钥后,我收到此消息 Package containerd.io is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'containerd.io' has no installation candidate
33 docker  ubuntu 

3
在Mac版Docker上诊断CPU使用率过高
如何在MacOS上诊断Docker的原因,特别是com.docker.hyperkit使用100%的CPU? Docker统计 Docker统计数据显示所有正在运行的容器的CPU,内存,网络IO和块IO均较低。 iosnoop iosnoop显示com.docker.hyperkit每秒执行约50次写入,总计每秒写入500KB Docker.qcow2。根据什么是Docker.qcow2?,Docker.qcow2是一个稀疏文件,该文件是为所有Docker容器的持久存储。 就我而言,文件不是那么稀疏。物理大小与逻辑大小匹配。 dtrace(dtruss) dtruss sudo dtruss -p $DOCKER_PID显示大量的psynch_cvsignal和psynch_cvwait调用。 psynch_cvsignal(0x7F9946002408, 0x4EA701004EA70200, 0x4EA70100) = 257 0 psynch_mutexdrop(0x7F9946002318, 0x5554700, 0x5554700) = 0 0 psynch_mutexwait(0x7F9946002318, 0x5554702, 0x5554600) = 89474819 0 psynch_cvsignal(0x10BF7B470, 0x4C8095004C809600, 0x4C809300) = 257 0 psynch_cvwait(0x10BF7B470, 0x4C8095014C809600, 0x4C809300) = 0 0 psynch_cvwait(0x10BF7B470, 0x4C8096014C809700, 0x4C809600) = -1 Err#316 psynch_cvsignal(0x7F9946002408, …

3
PostgreSQL的CI / CD管道失败,并显示“数据库未初始化,并且未指定超级用户密码”错误
我正在将Bitbucket管道与PosgreSQL用于CI / CD。根据此文档, PostgreSQL服务已通过bitbucket-pipelines.yml以下方式进行了描述: definitions: services: postgres: image: postgres:9.6-alpine 到现在为止一切正常。但是我所有的最新管道均失败,并出现以下错误: Error: Database is uninitialized and superuser password is not specified. You must specify POSTGRES_PASSWORD for the superuser. Use "-e POSTGRES_PASSWORD=password" to set it in "docker run". You may also use POSTGRES_HOST_AUTH_METHOD=trust to allow all connections without a password. This is …

3
“ docker build --pull”的目的是什么?
在构建docker映像时,通常使用docker build .。 但是我发现您可以指定--pull,所以整个命令看起来像docker build --pull . 我不确定的目的--pull。Dockers的官方文档说“总是尝试提取该映像的新版本”,在这种情况下我不确定这意味着什么。 您用于docker build构建新映像,并最终将其发布到容器注册表的某个位置。您为什么要拉一些尚不存在的东西? 我希望可以在网络上轻松找到像“简单”这样的东西,但是似乎没有人有与此类似的问题。Google上唯一真正的成功是指Dockers官方文档,我(如上所述)不了解。 谢谢你的帮助!
17 docker 

3
Docker:驱动器尚未共享
当“ dockerizing”一个ASP.NET Core 3.1 MVC应用程序时,我得到以下结果: docker run -dt -v "C:\Users\admin\vsdbg\vs2017u5:/remote_debugger:rw" -v "D:\xxx\yyy\Spikes\DockerizedWebApp1\DockerizedWebApp1:/app" -v "D:\xxx\yyy\Spikes\DockerizedWebApp1:/src/" -v "C:\Users\admin\.nuget\packages\:/root/.nuget/fallbackpackages2" -v "C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true" -e "ASPNETCORE_ENVIRONMENT=Development" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages2" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2" -P --name DockerizedWebApp1 --entrypoint tail dockerizedwebapp1:dev -f /dev/null docker: Error response from daemon: status code not OK but 500: {"Message":"Unhandled exception: …

1
具有确定性端口绑定的Docker扩展
我想缩放wildfly暴露了多个端口并具有确定性结果的容器。 docker-compose.yml version: '3' services: wildfly-server: build: context: . dockerfile: Dockerfile args: admin_user: admin admin_password: admin deploy: resources: limits: memory: 1.5G cpus: "1.5" restart: always ports: - "8000-8099:8080" - "8100-8199:9990" - "8200-8299:8787" expose: - "8080" - "9990" - "8787" Docker文件 FROM jboss/wildfly:16.0.0.Final # DOCKER ENV VARIABLES ENV WILDFLY_HOME /opt/jboss/wildfly ENV …

4
如何使用Traefik 2.0和Docker Compose标签将http重定向到https?
请注意,这是Traefik V2问题。我在V1上有一个解决方案,但V2是完全重新设计的。 以上内容应该将http://whoami.mysite.com重定向到http s://whoami.mysite.com。 http 的运行良好。 http不会重定向到https并引发错误404。 没有其他文件。目前,这一切都在Docker-compose.yml中,因为这是准备进一步部署的测试。 version: "3.3" services: traefik: image: "traefik:v2.0" container_name: "traefik" command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.web-secure.address=:443" - "--certificatesresolvers.myhttpchallenge.acme.httpchallenge=true" - "--certificatesresolvers.myhttpchallenge.acme.httpchallenge.entrypoint=web-secure" #- "--certificatesresolvers.myhttpchallenge.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory" - "--certificatesresolvers.myhttpchallenge.acme.email=me@mail.com" - "--certificatesresolvers.myhttpchallenge.acme.storage=/letsencrypt/acme.json" labels: - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" ports: - "80:80" - "443:443" - "8080:8080" volumes: …

1
错误:找不到任何已安装的.NET Core SDK
当我运行命令时,docker run -i -t myProject它显示错误: 找不到任何已安装的.NET Core SDK。您是要运行.NET Core SDK命令吗?从以下位置安装.NET Core SDK:https : //aka.ms/dotnet-download 但是,我确实安装了.NET Core SDK,并且PATH是正确的(此后:https : //docs.microsoft.com/zh-cn/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net -core-sdks-被检测到)。 而且,我的项目只需要运行时.NET Core SDK。 有谁知道可能是什么问题? 当运行dotnet --info时,我得到了: .NET Core SDK(反映任何global.json):版本:3.1.101提交:b377529961 运行时环境:OS名称:Windows OS版本:10.0.18363操作系统平台:Windows RID:win10-x86基本路径:C:\ Program Files(x86)\ dotnet \ sdk \ 3.1.101 \ 主机(对支持有用):版本:3.1.1提交:a1388f194c 安装的.NET Core SDK:3.1.101 [C:\ Program Files(x86)\ dotnet \ sdk] …
13 docker  .net-core 

1
如何在启用TLS配置的情况下连接到Traefik TCP服务?
我正在尝试配置Traefik,以便可以通过域名访问服务,而不必设置其他端口。例如,两个MongoDB服务(均位于默认端口上,但位于不同的域中)example.localhost和example2.localhost。仅此示例有效。我的意思是,其他情况也可能有效,但是我无法连接到它们,并且我不明白问题出在哪里。Traefik可能甚至都不是问题。 我准备了一个带有示例的存储库。您只需要使用mkcert生成自己的证书即可。位于的页面会example.localhost返回403 Forbidden错误,但您不必担心,因为此配置的目的是显示SSL正常(挂锁,绿色状态)。所以不要专心403。 仅与mongo服务的SSL连接有效。我使用Robo 3T程序对其进行了测试。选择SSL连接后,提供主机example.localhost并选择用于自签名(或自有)连接的证书即可。那是唯一以这种方式工作的东西。不管我是否提供证书,与redis(Redis Desktop Manager)和pgsql(PhpStorm,DBeaver,DbVisualizer)的连接均不起作用。我不将SSL转发给服务,仅连接到Traefik。我花了很长时间。我搜索了互联网。我还没有找到答案。有人解决了吗? PS。我在Linux Mint上工作,因此我的配置应该可以在此环境下正常工作。我会要求Linux的解决方案。 如果您不想浏览存储库,请附加最重要的文件: docker-compose.yml version: "3.7" services: traefik: image: traefik:v2.0 ports: - 80:80 - 443:443 - 8080:8080 - 6379:6379 - 5432:5432 - 27017:27017 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./config.toml:/etc/traefik/traefik.config.toml:ro - ./certs:/etc/certs:ro command: - --api.insecure - --accesslog - --log.level=INFO - --entrypoints.http.address=:80 - --entrypoints.https.address=:443 - --entrypoints.traefik.address=:8080 …

2
存储库未在Docker构建中签名
我有以下Dockerfile使用从dockerhub提取的最新Ubuntu映像: FROM ubuntu:latest RUN apt-get update && apt-get install -y g++ llvm lcov 当我启动docker build命令时,发生以下错误: 错误:2 http://archive.ubuntu.com/ubuntu仿生InRelease至少遇到一个无效的签名。 错误:1 http://security.ubuntu.com/ubuntu bionic-security InRelease至少遇到一个无效的签名。 错误:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease至少遇到一个无效的签名。 错误:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease至少遇到一个无效的签名。 正在阅读包裹清单... W:GPG错误:http : //archive.ubuntu.com/ubuntu仿生发行:至少遇到了一个无效签名。E:存储库“ http://archive.ubuntu.com/ubuntu仿生发行”未签名。 W:GPG错误:http : //security.ubuntu.com/ubuntu bionic-security InRelease:至少遇到了一个无效签名。E:存储库“ http://security.ubuntu.com/ubuntu bionic-security InRelease”未签名。 W:GPG错误:http://archive.ubuntu.com/ubuntu bionic-updates InRelease:至少遇到了一个无效的签名。E:未对存储库“ http://archive.ubuntu.com/ubuntu bionic-updates InRelease”进行签名。 W:GPG错误:http://archive.ubuntu.com/ubuntu bionic-backports …
13 docker  ubuntu  apt 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.