1 回答
TA贡献2012条经验 获得超12个赞
修复图像的方法有两种。由于我找不到图像 digitalocean/php,因此我将在示例中使用 php:7.4-fpm。
第一种方式: 从容器中复制文件并使用它来构建您自己的映像:
创建 Dockerfile:
FROM php:7.4-fpm
COPY ./php-fpm.conf /usr/local/etc/php-fpm.conf
然后:
docker run --detach --name php php:7.4-fpm tail -f /dev/null
docker cp php:/usr/local/etc/php-fpm.conf php-fpm.conf
docker stop php
docker rm -v php
# Edit php-fpm.conf
docker build --tag myphp-fm .
docker run --detach --name php myphp-fpm
然后你就可以根据固定的镜像运行容器了。
第二种方式:
使用损坏的映像运行 shell,修复文件并使用 shell 容器创建新映像
docker run -it --name php php:7.4-fpm bash
# Edit /usr/local/etc/php-fpm.conf
# If you install any additional tools remember to remove them afterwards
# and clean any cache's
# Once you're done exit the shell, thus stopping the container
docker commit -a "you" -m "/usr/local/etc/php-fpm.conf fix" php myphp-fpm
docker stop php
docker rm -v php
docker run --detach --name php myphp-fpm
然后您再次获得基于固定映像的运行容器。
当然,您可以按照一开始运行原始映像的任何方式来运行新映像。
我推荐第一种方法,因为它更容易在容器外编辑文件。
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报