Vì vậy, tôi có một container docker chạy dịch vụ Php 7.2.34 như sau:-
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 ...Thay vì khởi động lại nginx, tôi chỉ cần khởi động lại các thùng chứa như:-
docker stop app db webserver docker rm app db webserver docker-compose up -dTôi muốn nâng cấp lên Php 7.4+ hoặc thậm chí 8. Tôi đã cố gắng thay thế FROM php:7.2-fpm bằng FROM php:7.2-fpm ... 0 nhưng FROM php:7.2-fpm ... 1 báo cáo không có thay đổi trong phiên bản PHP? Có: FROM php:7.2-fpm ... 2 có ý nghĩa gì khi nâng cấp không?
hỏi ngày 6 tháng 2 năm 2021 lúc 13:41Feb 6, 2021 at 13:41
Cookiecookiecookie
1923 Huy hiệu vàng7 Huy hiệu bạc18 Huy hiệu đồng3 gold badges7 silver badges18 bronze badges
Lệnh này sẽ cập nhật hình ảnh và lực dừng của bạn và tạo lại các thùng chứa:
docker-compose up -d --force-recreate --buildĐể xác minh Run FROM php:7.2-fpm ... 3 Điều này sẽ trả về thông tin phiên bản PHP.
# The new image name when running `docker-compose up/build` image: digitalocean.com/phpExplanation::
Lệnh FROM php:7.2-fpm
...
4 sẽ chỉ xây dựng một hình ảnh nó không tồn tại. Để buộc xây dựng hình ảnh mới, hãy thêm cờ FROM php:7.2-fpm
...
5 hoặc làm FROM php:7.2-fpm
...
6 và sau đó FROM php:7.2-fpm
...
4
To force build new image add FROM php:7.2-fpm
...
5 flag or do FROM php:7.2-fpm
...
6 and then FROM php:7.2-fpm
...
4
Tham khảo ở đây
Nếu bạn muốn buộc soạn để dừng và tạo lại tất cả các container, hãy sử dụng cờ FROM php:7.2-fpm ... 8.
FROM php:7.2-fpm ... 5 Xây dựng hình ảnh trước khi bắt đầu container.
Đã trả lời ngày 8 tháng 2 năm 2021 lúc 22:14Feb 8, 2021 at 22:14
ShmuelshmuelShmuel
Huy hiệu đồng 3211 Bạc5 Huy hiệu Đồng1 silver badge5 bronze badges
1
Có một sự khác biệt giữa hình ảnh docker và container docker. Xem docker stop app db webserver
docker rm app db webserver
docker-compose up -d
0 và docker stop app db webserver
docker rm app db webserver
docker-compose up -d
1.
See docker stop app db webserver
docker rm app db webserver
docker-compose up -d
0 and docker stop app db webserver
docker rm app db webserver
docker-compose up -d
1.
Để xây dựng lại hình ảnh và tạo một container chạy
docker stop app db webserver docker rm app db webserver docker-compose up -d 2
Đã trả lời ngày 8 tháng 2 năm 2021 lúc 22:15Feb 8, 2021 at 22:15
Michael D.Michael D.Michael D.
2.76015 huy hiệu bạc23 Huy hiệu đồng15 silver badges23 bronze badges
Vì bạn đang dừng ứng dụng dù sao, bạn có thể xóa tất cả các hình ảnh khỏi máy chủ của mình bằng:
docker-compose down --rmi allSau đó bắt đầu ứng dụng với giải trí các thùng chứa như @Shmuel khuyên
docker-compose up -d --force-recreate --buildĐã trả lời ngày 9 tháng 2 năm 2021 lúc 19:19Feb 9, 2021 at 19:19
BluesboybluesboyBluesboy
711 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges
Ví dụ, thay đổi DockerFile cho phiên bản đích
FROM php:7.4-fpmhoặc
FROM php:8.0-fpmvà bạn điều chỉnh thư viện của mình với tài liệu này với giá 7.xxx
hoặc cho 7.xxx đến 8.xxx tài liệu này
Đã trả lời ngày 7 tháng 10 năm 2021 lúc 8:04Oct 7, 2021 at 8:04
2
Giả sử PHP đã phát hành một bản vá bảo mật và bạn muốn áp dụng nó cho container Docker của bạn. Bạn có thể làm theo hướng dẫn này để cập nhật container PHP của bạn mà không cần bất kỳ thời gian chết nào.
Trước hết, bạn có đảm bảo rằng phiên bản PHP của bạn trong tệp Docker hoặc trong tệp Docker Compose được đặt thành phiên bản mà bạn muốn. Ví dụ: nếu bạn có docker stop app db webserver docker rm app db webserver docker-compose up -d 3 và bạn muốn nâng cấp lên phiên bản 7.3.25, bạn nên thay đổi phiên bản trong tệp Docker hoặc Docker-Compose File thành docker stop app db webserver docker rm app db webserver docker-compose up -d 4 hoặc docker stop app db webserver docker rm app db webserver docker-compose up -d 5.
Cần xây dựng lại hình ảnh PHP của bạn (lưu ý rằng không cần phải chạy docker stop app db webserver docker rm app db webserver docker-compose up -d 6 hoặc bất cứ thứ gì khác để dừng các thùng chứa):
docker stop app db webserver docker rm app db webserver docker-compose up -d 7
Và sau đó bạn cần đưa ra hình ảnh mới:
docker stop app db webserver docker rm app db webserver docker-compose up -d 8
Nó sẽ tự động đưa hình ảnh mới lên.
Tôi nghĩ rằng phương pháp này có thể được áp dụng trên hầu hết các hình ảnh chính thức và không chỉ trên PHP.
Nếu bất kỳ cải tiến nào có thể được áp dụng cho các hướng dẫn này, hãy cho tôi biết trong phần bình luận.