相关疑难解决方法(0)

了解DockerFile中的"VOLUME"指令

以下是我的"Dockerfile"的内容

FROM node:boron

# Create app directory
RUN mkdir -p /usr/src/app

# change working dir to /usr/src/app
WORKDIR /usr/src/app

VOLUME . /usr/src/app

RUN npm install

EXPOSE 8080

CMD ["node" , "server" ]
Run Code Online (Sandbox Code Playgroud)

在这个文件中,我期待"VOLUME./ usr/src/app"指令将主机中当前工作目录的内容挂载到容器的/ usr/src/app文件夹中.

如果这是正确的方法,请告诉我?

docker dockerfile

94
推荐指数
6
解决办法
10万
查看次数

卷是匿名创建的,而不是在每次撰写上/下时命名和重新创建

我有一些 docker 容器,可以使用 docker-compose up / down 启动和停止。在 docker-compose.yml 中,我为每个容器定义了一个卷。据我了解,这些应该显示为 var/lib/docker/volumes 下的命名卷,但我所看到的只是一堆神秘的目录,每次重新启动容器时它们的数量也会增加。

每次我重新启动容器时,当我认为我正在使用卷来避免出现这样的情况时,数据库再次为空。我想保留数据。

我做错了什么吗?

version: "3"
services:
  nftapi:
    env_file:
      - .env
    build:
      context: .
    ports:
      - '5000:5000'
    depends_on: 
      - postgres
      
    networks:
      - postgres
      
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
    - "5432:5432"
    volumes:
    - /data/postgres:/data/postgres
    env_file:
    - docker.env
    networks:
    - postgres
 
  pgadmin:
    links:
    - postgres:postgres
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
    - "8080:80"
    volumes:
    - /data/pgadmin:/root/.pgadmin
    env_file:
    - docker.env
    networks:
    - postgres
 
networks:
  postgres:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

卷目录屏幕

在此输入图像描述

docker docker-compose

0
推荐指数
1
解决办法
2597
查看次数

标签 统计

docker ×2

docker-compose ×1

dockerfile ×1