标签: container-image

如何使用docker-compose yml文件进行生产?

我在localhost上有一个docker应用程序,工作正常.我正在运行PHP,Nginx和Mariadb.

这是我使用的docker样板:https://github.com/matchish/skeleton

上面的repo只有一个docker-compose.yml包含此代码的文件:

version: '3'

services:
    db:
      build:
        context: ./mariadb
      volumes:
          - "./.data/db:/var/lib/mysql"
          - "./logs/mariadb:/var/log/mysql"
      environment:
          MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
          MYSQL_DATABASE: ${MYSQL_DATABASE}
          MYSQL_USER: ${MYSQL_USER}
          MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      networks:
        - default
    php-fpm:
      build:
          context: ./php7-fpm
          args:
              TIMEZONE: ${TIMEZONE}
      volumes:
          - ${APP_PATH}:/var/www/app
      environment:
          DB_HOST: db
          DB_PORT: 3306
          DB_DATABASE: ${MYSQL_DATABASE}
          DB_USERNAME: ${MYSQL_USER}
          DB_PASSWORD: ${MYSQL_PASSWORD}
      depends_on:
        - db
      networks:
        - default
    nginx:
      build:
        context: ./nginx
        args:
          - 'php-fpm'
          - '9000'
      volumes:
        - ${APP_PATH}:/var/www/app
        - ./logs/nginx/:/var/log/nginx
      ports:
        - "80:80"
        - "443:443"
      depends_on:
        - …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose container-image

10
推荐指数
1
解决办法
1223
查看次数

在 ubuntu 20.04 上运行 docker scan <image> 返回错误

当我尝试使用 扫描本地图像(例如 hello-world 图像)时,出现docker scan hello-world此错误

docker: 'scan' is not a docker command.
See 'docker --help'
Run Code Online (Sandbox Code Playgroud)

我的码头工人版本是

Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:43 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true
Run Code Online (Sandbox Code Playgroud)

docker container-image

7
推荐指数
1
解决办法
2839
查看次数

什么是Google容器注册表的gcloud API

我必须列出在某个项目中发布的Docker容器映像,但是我找不到使用gcloudCLI工具的适当API .这可能吗?

是否还有其他解决方案可以在我的Google项目中列出此私有容器注册表中的容器图像?

docker google-cloud-platform gcloud google-container-registry container-image

5
推荐指数
1
解决办法
1386
查看次数

为生产和开发创建单独的 docker-compose 配置

我有一个docker-compose开发设置,我需要复制相同的文件以进行生产或登台。

目前,除了volumes portsenvironment不太确定生产/环境“可能需要”更改哪些设置。

澄清:

  • 我必须改变volumes,因为我通常将 USB 驱动器安装到我的 docker 容器 ex:d:/var/www
  • 问题与ports是,因为我的本地计算机上可能有其他服务使用端口 80,所以我可能需要更改它。
  • environment当然,对于生产/开发来说是不同的..(主要是身份验证和数据库访问)

如果有更多提示就很高兴知道。

docker dockerfile docker-compose docker-machine container-image

5
推荐指数
1
解决办法
1555
查看次数

如何在 Google Artifact Registry 中的项目之间复制工件

以前使用容器注册表时,可以使用此方法在项目之间复制容器

但是我无法使用 ArtifactRegistry 来实现此功能。如果我尝试

gcloud artifacts docker tags add \
        us-east4-docker.pkg.dev/source-proj/my-repo/my-image:latest \
        us-east4-docker.pkg.dev/dest-proj/my-repo/my-image:latest

Run Code Online (Sandbox Code Playgroud)

它给出了错误

ERROR: (gcloud.artifacts.docker.tags.add) Image us-east4-docker.pkg.dev/source-proj/my-repo/my-image
does not match image us-east4-docker.pkg.dev/dest-proj/my-repo/my-image

Run Code Online (Sandbox Code Playgroud)

我进行了搜索,但找不到任何有关如何执行此操作的示例或文档。

google-container-registry container-image docker-repository google-artifact-registry

5
推荐指数
1
解决办法
3420
查看次数

docker ps-显示图像ID而不是名称

我使用docker ps命令显示正在运行的容器 。有一个IMAGE列,显示创建每个容器的图像的名称。但是与此同时(在容器运行时)我重建了一些映像。新映像具有相同的名称,但ID不同。现在,我想检查从哪个图像特定容器运行。我不能仅使用图像名称来推断此信息。我需要图像ID。是否有可能显示用于运行特定容器的图像的ID?

docker docker-compose container-image

3
推荐指数
2
解决办法
3728
查看次数

我可以从我自己的自定义操作系统创建 LXC 映像吗?

我是 LXC 的新手。我想从现有的操作系​​统(我自己的以不同架构编译的 unix 内核)创建我自己的 lxc 容器。我正在尝试使用“lxc-create”。任何人都可以建议我如何创建自己的容器,是否可以使用这种方法创建一个容器?创建自己的容器后是否需要更改任何配置?

如果 lxc 不适合这个,我可以用任何其他容器引擎来实现吗?PS 我不需要 vms 或任何管理程序来实现相同的目标。

lxc google-kubernetes-engine lxc-docker lxd container-image

3
推荐指数
1
解决办法
4903
查看次数

构建/部署docker镜像的最佳实践

我刚刚完成了我的角度应用程序的基本管道,它在docker中的Node图像中运行.因此,工作流程如下:推Gitlab>勾詹金斯生成>部署脚本,docker build图像和推到码头>发布脚本提示牧场主服务升级的容器并刷新图像>完整.

现在,我遇到的问题是基本节点图像非常大,这意味着当我推动一个简单的更改时,需要很长时间才能完成构建管道(约8分钟).对于每一个微小的变化来说这似乎都是不合理的,对Quay的推动以及随后向Rancher平台的发布意味着我要向码头移动250mb,向Rancher移动250mb.

我有计划部署几个"微服务",但如果每次我想部署一个开发环境和移动每个阵子如此多的数据,似乎有点适得其反......是什么,我做错了什么我错过了,在构建/部署/托管基于容器的服务时是否有最佳实践指南?

jenkins angularjs docker rancher container-image

2
推荐指数
1
解决办法
907
查看次数

在 K8s 中调试 Alpine 镜像:没有 `netstat`、没有 `ip`、没有 `apk`

我的 Kubernetes 集群中有一个容器我想要调试。

但没有netstat,没有ip,没有apk

有没有办法升级这个镜像,以便安装常用工具?

在本例中,它是 K8s 1.23 集群中的 nginx 容器映像。

kubernetes alpine-linux container-image

2
推荐指数
1
解决办法
1513
查看次数