Docker的使用筆記

因為公司還有一些Drupal6的站,而這些站必須要在php5.3的環境才能運作的順暢
試了幾個方式,也包括在Ubuntu 18.04自行編譯,不過最後有卡在ssl版本的問題作罷

目前正在研究Docker,所以就加減記錄一下,方向也不曉得對不對,呵

觀念及想法
用Docker取得環境 apache + php5.3,並且讓它使用9000的PORT
然後再用nginx proxy的方式,把Docker環境做出的內容,能夠讓實際的 domain 連線

實作筆記
https://hub.docker.com/r/edersondev/php5.3

sudo docker pull edersondev/php5.3

接著在本機目錄加一個d6的目錄,並且把d6的檔案放在裡面

sudo docker run -d -v /var/www/d6:/var/www -p 9000:80 edersondev/php5.3

這樣執行後,輸入 http://YOUR_IP:9000 就會看到D6的安裝畫面

然後本機實裝Nginx的conf檔這樣寫,如此即可讓 d6test.com 連入

server {
    listen 80;
    server_name d6test.com;
    proxy_connect_timeout       300;
    proxy_send_timeout          300;
    proxy_read_timeout          300;
    send_timeout                300;
    location ~ / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://127.0.0.1:9000;
    }
}


實測後的記錄
01. http://YOUR_IP:9000 成功,但是我卡在安裝畫面,無法連到SQL
02. Nginx導連到 d6test.com  成功
03. edersondev/php5.3 無法關聯mysql,3搞定後就完成了
04. 後來研究一下 edersondev/php5.3 似乎無法滿足我要的條件,改用LAMP做測試
https://github.com/korvinca/docker-lamp-php53



後面要做SSL及CERTBOT在實機做即可


Docker使用筆記
抓image檔
sudo docker pull edersondev/php5.3

執行image
sudo docker run -d -v /var/www/d6:/var/www -p 9000:80 edersondev/php5.3

顯示image運作狀況
sudo docker ps

停用image
sudo docker stop id

刪除執行的image
sudo docker rm id

列出image
sudo docker images

刪除image
sudo docker rmi id

關閉所有運作中的images
sudo docker ps -a -q | sudo xargs -n 1 -P 8 -I {} docker stop {}

留言

熱門文章