如何测试 docker 卷?
How to test a docker volume?
我想测试一下我的 docker-compose.yml 是否正确。新东西是一卷
app:
image: gitlab-${smt}:5005/smt/my-app:latest
container_name: app
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $HOME/.docker:/root/.docker
- /home/profile_x/compose/area:/home/profile_x/compose/area
environment:
#not important for my question
ports:
- 80:80
restart: always
所以我添加了最后一个卷/home/profile_x/compose/area
,因为我的目标是将它从Docker主机共享到Docker容器,并从主机内部的容器写入。
如何检查卷是否安装在容器内 app
?
您可以在您的容器中执行 bash shell 并检查该目录是否存在于您指定的路径中。
docker exec app /bin/bash -c "[ -d '/home/profile_x/compose/area' ] && echo 'Yes'"
如果目录存在,这将输出是。
最简单的方法是连接到 docker 容器。
与:
docker ps
你得到所有的 运行 容器。
然后你必须访问容器:
docker exec -it <containername or containerid> bash
然后 cd 直到找到您的文件夹并查看是否有您的文件。
您可以使用 google 的 docker container-structure-tests 编写测试以确保您的镜像是按照 Dockerfile 的规范构建的。
可以找到更多信息 here。
我想测试一下我的 docker-compose.yml 是否正确。新东西是一卷
app:
image: gitlab-${smt}:5005/smt/my-app:latest
container_name: app
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $HOME/.docker:/root/.docker
- /home/profile_x/compose/area:/home/profile_x/compose/area
environment:
#not important for my question
ports:
- 80:80
restart: always
所以我添加了最后一个卷/home/profile_x/compose/area
,因为我的目标是将它从Docker主机共享到Docker容器,并从主机内部的容器写入。
如何检查卷是否安装在容器内 app
?
您可以在您的容器中执行 bash shell 并检查该目录是否存在于您指定的路径中。
docker exec app /bin/bash -c "[ -d '/home/profile_x/compose/area' ] && echo 'Yes'"
如果目录存在,这将输出是。
最简单的方法是连接到 docker 容器。
与:
docker ps
你得到所有的 运行 容器。
然后你必须访问容器:
docker exec -it <containername or containerid> bash
然后 cd 直到找到您的文件夹并查看是否有您的文件。
您可以使用 google 的 docker container-structure-tests 编写测试以确保您的镜像是按照 Dockerfile 的规范构建的。
可以找到更多信息 here。