你好,我有这个yml
文件可以让docker容器与phpmyadmin一起工作:
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
expose:
- 80
depends_on:
- database
volumes:
- /sessions
- ./bin/pma/php.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
extra_hosts:
- "host.docker.internal:host-gateway"
重要提示:我正在使用YML
文件,并且仅仅由于/DOCKERFILE
的使用限制,因为它在我的 Windows 用户中不可用。terminal
cmd
一旦安装完成并且一切正常,请查看容器的结构以及 phpmyadmin 所在的路径:/var/www/html
我突然想到,就像我可以在/document_root
中看到一样,我会尝试查看我的 docker 容器的。phpmiadmin
xampp
wampp
为了实现此目的,请尝试通过添加以下行来安装卷:
- ./bin/pma/phpmyadmin:/var/www/html
困难就从这里开始,我实施的音量系统不是根据我想要的范围设计的。
由于此方法用我正在挂载的目录的内容覆盖图像的内容,这会导致目录变空......哈哈
我想要做的是能够挂载一个引用我本地“windows”结构的卷并绑定到容器内的目录而不替换任何文件,以便我可以手动查看和修改这些文件。
command
我不喜欢的另一个想法或失败的尝试是在 YML 中实现符号链接:
version: '3.8'
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
expose:
- 80
depends_on:
- database
volumes:
- /sessions
- ./bin/pma/php.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
- ./bin/pma/phpmyadmin:/var/www/html/my_phpmyadmin
extra_hosts:
- "host.docker.internal:host-gateway"
command: sh -c "ln -s /var/www/html/my_phpmyadmin /var/www/html/phpmyadmin && apache2-foreground"
使用符号链接的其他实现和Dockerfile
:
phpmyadmin:
container_name: PMA
build:
context: ./bin/pma
dockerfile: Dockerfile
restart: always
expose:
- 80
depends_on:
- database
volumes:
- /sessions
- ./bin/pma/php.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
- ./bin/pma/source-code:/var/www2/html
extra_hosts:
- "host.docker.internal:host-gateway"
Dockerfile:
FROM phpmyadmin/phpmyadmin
RUN mkdir -p /var/www2 && ln -s /var/www/html /var/www2/html
ENTRYPOINT ["apache2-foreground"]
空目录:
当原始目录已经存在时,创建符号链接以便之后绑定符号链接对我来说似乎是多余的或不必要的......
最后内容应该出现在这里: