2020系統綜合實驗 第3次實踐作業

2022-05-26 12:24:12 字數 2403 閱讀 6682

from nginx

maintainer by jamwong

expose 2525

from php:7.4-fpm

maintainer by jamwong

from php:7.4-fpm

run apt-get update && apt-get install -y \

libfreetype6-dev \

libjpeg62-turbo-dev \

libpng-dev \

&& docker-php-ext-install pdo_mysql \

&& docker-php-ext-configure gd --with-freetype --with-jpeg \

&& docker-php-ext-install -j$(nproc) gd

server 

error_page 500 502 503 504 /50x.html;

location = /50x.html

location ~ \.php$

}

# docker-compose.yml

version: "3"

services:

php:

image: zxhphp_image

container_name: zxhphp_container

build:

context: .

dockerfile: dockerfile-php

environment:

mysql_password: 123456 #設定好環境變數,在php**中使用變數名直接引用

volumes:

- ./web:/usr/myweb #掛載工作目錄到本機web目錄

nginx:

image: my_nginx #指定映象名

container_name: c_nginx #指定容器名

build:

context: .

dockerfile: dockerfile_nginx #指定dockerfile檔案

ports:

- "80:2525" #修改埠對映

volumes:

- ./web:/home/docker-compose/web #掛載容器卷,本地/容器內修改檔案後,另一方都會同步更新;

- ./default.conf:/etc/nginx/conf.d/default.conf #掛載配置檔案

mysql:

image: zxhmysql_image

container_name: zxhmysql_container

build:

context: .

dockerfile: dockerfile-mysql

ports:

- "3306:3306"

volumes:

- ./mysql_data:/var/lib/mysql #掛載容器卷,實現資料同步,防止資料丟失

sudo docker-compose up -d --build
from phpmyadmin/phpmyadmin           

maintainer jamwong

expose 8080

phpmyadmin:

image: zxh_phpmyadmin

container_name: zxh_phpmyadmin_container

build:

context: .

dockerfile: dockerfile-phpadmin

ports:

- "8080:80" # phpmyadmin預設監聽80

environment:

pma_host: zxhmysql_container # 第一次忘了寫環境變數 導致無法登陸 將對應的mysql容器寫上就可以了

寫到這裡屬實是有些心力交瘁了。利用五一假期期間換上了ubuntu 20.04(lts),花了不少時間重新配環境重新採坑,但是這一次對ubuntu的源有了更深的理解。因為網路的問題,這次採坑花費的時間保守估計超過了24小時……不過幸好一直有大佬傳授經驗一起踩坑,除了網路玄學其他都還算順利。

一些問題和解決方法都寫在上文的部落格中了,總結下來其實只有一句話z a q n y 永 遠 滴 神

2020系統綜合實踐 第3次實踐作業

將可執行許可權應用於二進位制檔案 sudo chmod x usr local bin docker compose 建立指向 usr bin目錄的符號鏈結 ln s usr local bin docker compose usr bin docker compose 測試安裝 基礎映象 from...

2020系統綜合實踐 第2次實踐作業

推薦apache或nginx,要求標明映象作者資訊,安裝必要的工具以方便維護 設定你自己的web存放目錄,安全起見,請將預設的監聽埠80更改為你自定義的埠,並且宣告暴露的埠,容器啟動時,能直接進入web 的存放目錄。3.更改nginx的web存放目錄 建立映象 建立容器 sudo docker ru...

2020系統綜合實踐 第1次實踐作業

1 docker docker 是乙個開源的應用容器引擎,可以讓開發者打包他們的應用以及依賴包到乙個輕量級 可移植的容器中,容器是完全使用沙箱機制,相互之間不會有任何介面。2 映象 docker 映象是乙個特殊的檔案系統,除了提供容器執行時所需的程式 庫 資源 配置等檔案外,還包含了一些為執行時準備...