Docker

在 docker 容器中升級 PHP

  • October 7, 2021

所以我有一個執行 PHP 7.2.34 服務的 docker 容器,如下所示:-

碼頭工人-compose.yml

version: '3'
services:

#PHP Service
app:
 build:
  context: .
  dockerfile: Dockerfile
 image: digitalocean.com/php
 container_name: app
 ...

Dockerfile

FROM php:7.2-fpm
...

我沒有重新啟動 Nginx,而是簡單地重新啟動容器,例如:-

docker stop app db webserver
docker rm app db webserver
docker-compose up -d

我想升級到 PHP 7.4+ 甚至 8。我試圖簡單地替換FROM php:7.2-fpmFROM php:7.4-fpmphpinfo()報告 PHP 版本沒有變化?是否:image: digitalocean.com/php升級時有什麼意義?

此命令將更新您的圖像並強制停止並重新創建容器:

docker-compose up -d --force-recreate --build

要驗證執行,docker exec -it app php -v這將返回 php 版本資訊。

# The new image name when running `docker-compose up/build`
image: digitalocean.com/php

說明

該命令docker-compose up將建構一個不存在的圖像。

要強制建構新圖像,請添加--build標誌或執行docker-compose build然後docker-compose up

參考這裡

如果要強制 Compose 停止並重新創建所有容器,請使用該--force-recreate標誌。

--build 在啟動容器之前建構鏡像。

引用自:https://unix.stackexchange.com/questions/633007