第3次實踐作業

2022-05-16 04:41:17 字數 2907 閱讀 9518

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檔案實現自定義映象,本次...