codeigniter Docker管理复制数据,但它不存在

ffdz8vbo  于 8个月前  发布在  Docker
关注(0)|答案(1)|浏览(62)

所以我在docker中尝试bitnami codeigniter image。我的项目看起来像这样:

my-source-code
   |Dockerfile
   |hello-world.php
   |Home.php
docker-compose.yml

我的docker-compose.yml看起来像这样:

# Copyright VMware, Inc.
# SPDX-License-Identifier: APACHE-2.0

version: '2'

services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.6
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_myapp
      - MARIADB_DATABASE=bitnami_myapp
    volumes:
      - './my-database:/bitnami/mariadb'
  my-docker-app:
    build: ./my-souce-code
    ports:
      - '8000:8000'
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - CODEIGNITER_DATABASE_HOST=mariadb
      - CODEIGNITER_DATABASE_PORT_NUMBER=3306
      - CODEIGNITER_DATABASE_USER=bn_myapp
      - CODEIGNITER_DATABASE_NAME=bitnami_myapp
    volumes:
      - './my-docker-project:/app'
    depends_on:
      - mariadb

它假设构建codeigniter图像,然后将默认的欢迎屏幕更改为Hello World。我在my-source-code中的Dockerfile看起来像这样:

FROM bitnami/codeigniter:4

COPY hello_world.php ./my-docker-app/app/Views/hello_world.php
COPY Home.php ./my-docker-app/app/Controllers/Home.php

当我运行docker compose up时,似乎它执行了这个Dockerfile,我看到一个通知说它已经复制了两个文件。该位置应该挂载在本地,所以我尝试检查该位置,但什么也没有找到。看起来像是先复制它,然后再构建codeigniter。有人能解释一下如何在codeigniter构建完成后执行拷贝吗

u5rb5r59

u5rb5r591#

事实上,我在这道题上做得很差。我可以把所有东西都放在文件夹上,然后用挂载的文件夹构建docker,而不是试图复制它。

相关问题