sudo chmod +x /usr/local/bin/docker-compose //更改檔案許可權,讓使用者可讀可寫可執行
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose //新增軟連線,有的時候這步不做也可以
done!
from nginx
maintainer lzh
expose 3000
from php:7.4-fpm
maintainer lzh
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 \ //pdo,用來連線資料庫
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd
from mysql:5.7
maintainer lzh
env mysql_root_password admin
env mysql_allow_empty_password no
server
error_page 500 502 503 504 /50x.html; //錯誤頁面
location = /50x.html
location ~ \.php$
}
用來和容器中的目錄關聯,web是用來更改php來實現遠端操縱資料庫,mysql_data相當於在本機做個備份
version: "3"
services:
nginx:
image: image_nginx #指定映象名
container_name: container_nginx #指定容器名
build:
context: .
dockerfile: dockerfile-nginx #指定dockerfile檔案
ports:
- "8080:3000" #埠對映,要和dockerfile中的對應
volumes:
- ./web:/home/docker-web/html #掛載容器卷,本地/容器內修改檔案後,另一方都會同步更新;
- ./default.conf:/etc/nginx/conf.d/default.conf #掛載配置檔案
php:
image: image_php
container_name: container_php
build:
context: .
dockerfile: dockerfile-php
environment:
mysql_password: admin #環境變數,mysql的密碼為admin
volumes:
- ./web:/home/docker-web/php #掛載工作目錄到本機web目錄
mysql:
image: image_mysql
container_name: container_mysql
build:
context: .
dockerfile: dockerfile-mysql
ports:
- "3306:3306"
volumes:
- ./mysql_data:/var/lib/mysql #掛載容器卷,實現資料同步,防止資料丟失
在資料庫中驗證資料庫lzh_mysql是否被建立
phpmyadmin:
image: image_phpmyadmin
container_name: container_phpmyadmin
build:
context: .
dockerfile: dockerfile-phpmyadmin
ports:
- "8050:80" //這裡要用80,因為這個容器服務監聽的是80埠,不管dockerfile中expose了什麼,這裡都要寫80,如果一定要改監聽埠的話可能需要修改配置檔案。
environment:
pma_host: mysql
from phpmyadmin/phpmyadmin
maintainer lzh
expose 8050
實驗的主要問題就在於對pdo不了解,之前沒有接觸過。在錯誤控制這一塊栽了大跟頭,明明只需要新增乙個模組,但卻足足花了一下午的時間去排。時間的話,不知道怎麼算,畢竟很早就開始觀望了,但是遲遲沒有自己下手,就是想少走點彎路,結果總想要去把別人**刪掉一些,導致花了不少時間。經驗的話...平常多學點東西,用起來就不會這麼不熟練。按照完整時間塊來算的話,是乙個晚上(完成實驗過程4小時)+一下午(修改**找問題3小時+寫部落格1小時)。 第3次實踐作業
將可執行許可權應用於二進位制檔案sudo chmod x usr local bin docker compose 建立指向 usr bin目錄的符號鏈結sudo ln s usr local bin docker compose usr bin docker compose 測試安裝docker ...
2020系統綜合實踐 第3次實踐作業
將可執行許可權應用於二進位制檔案 sudo chmod x usr local bin docker compose 建立指向 usr bin目錄的符號鏈結 ln s usr local bin docker compose usr bin docker compose 測試安裝 基礎映象 from...
第2次實踐作業
上一次作業同學們實現了docker環境的安裝和基本配置,已經能夠從docker的官方映象倉庫中拉取映象,初步實現了入門。然而,從官方倉庫拉取的映象是最簡單的映象,在實際應用中經常需要根據需求額外修改映象,這就涉及到了映象的定製。在docker中我們可以使用dockerfile檔案實現自定義映象,本次...