docker 和 docker-in-docker 运行 它的容器在哪个路径?

In which path does docker and docker-in-docker run its containers?

我有一个 docker 化的 nginx 服务器,我可以在我的本地机器上构建和 运行 没有任何问题。所以现在我想在 gitlab 运行ner.

的帮助下部署它

这是我的简单docker文件:

FROM nginx

COPY web /usr/share/nginx/html

EXPOSE 80

因此,如果我在本地计算机上构建并 运行 它,它就可以工作。但此时我有第一个问题:docker 运行 nginx 服务器在哪里?因为如果我看 /usr/share 那里什么也没有。

现在,如果我将我的项目推送到 gitlab,注册一个 运行ner 并让它执行以下 gitlab-ci 文件:

image: docker:stable

variables:
  DOCKER_DRIVER: overlay2

services:
- docker:dind

before_script:
  - docker info

build:
  script:
    - docker build -t bd24_nginx .
    - docker run -d -p 80:80 bd24_nginx

...工作完成得很好。 gitlab页面的控制台输出没有错误。这是输出:

Successfully built 9903dc370422
Successfully tagged bd24_nginx:latest
$ docker run -d -p 80:80 bd24_nginx
b1e24c7cf9af8a43b3c2418d1ca1b90a58e445eb6b0b0ac9cde61f99be8cff7b
Job succeeded

但是如果我现在访问我服务器的IP地址,静态html测试页面不会出现。所以我怀疑路径有问题?还是我完全遗漏了什么? 提前致谢。

使用docker表示将数据复制到相应的容器中。 docker 完成后 运行,容器不保留任何数据。

您可以尝试将一些主机目录挂载到 docker 以获得持久存储。 参见

希望对您有所帮助!