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 映象是乙個特殊的檔案系統,除了提供容器執行時所需的程式 庫 資源 配置等檔案外,還包含了一些為執行時準備...