解決,Docker ERROR: Bad response form Docker engine
在Mac安裝新版本 OS 之後,出現了 docker-compose 無法正常 up 的情況
解決方式:
開啟 docker premerence
點選 Reset > Reset to factory default
接著需要重新登入 Docker
再次啟動之後,再透過 up 重新載入 images ,完成啟動
完成
Continue Reading在Mac安裝新版本 OS 之後,出現了 docker-compose 無法正常 up 的情況
解決方式:
開啟 docker premerence
點選 Reset > Reset to factory default
接著需要重新登入 Docker
再次啟動之後,再透過 up 重新載入 images ,完成啟動
完成
Continue Reading最近Mac升級了 OS 之後
git 使用時會出現錯誤訊息
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
解決方法:
xcode-select --install
問題應該就會解決
如果還是不行,可以試試
sudo xcode-select -switch /
Continue Reading
yum install epel-release –y
yum clean all
yum list
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
確認移除
docker info
安裝必要的 repository
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
使用 stable repository
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
啟用 edge (可自行決定是否啟用)
sudo yum-config-manager --enable docker-ce-edge
(若不想啟用 edge,也可以直接關閉):
sudo yum-config-manager --disable docker-ce-edge
安裝新版本
sudo yum install docker-ce
docker info
sudo systemctl start docker #運行Docker守護進程
sudo systemctl stop docker #停止Docker守護進程
sudo systemctl restart docker #重啟Docker守護進程
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
添加權限
Continue Reading在主網域的 DNS A-record ( 如果用 IPv6 則設定 AAAA-record ) 指向到另一個網域的IP
注意,DNS 只能指向 IP ,無法指向該IP的子資料夾
當主 DNS point 到另一個子網域後,另一個子網域本身應該要 point 到一台主機
則需要在這一台主機進行設定 Virtual hosting
來對於子網域的 redirect/equate 指向子資料夾的部分,
例如,由 subdoname.A.com 請求過來時,會透過這個方式: ${DocumentRoot of B.com}/folder ,會提供 folder 內容
Continue Reading負責處理 DNS 相關服務
每一個域名都會有相對應的檔案,稱為區域檔案(Zone File),每一個 Zone File 都可以各自設定類型(Resource Record, RR),底下則介紹一些 RR 及相關用法
在 zone file 一開始會進行 SOA 定義,
在 SOA 描述 name server, version … 等,並且指定要授權的主機及管理者信箱
Continue Reading簡單紀錄,需要用的一些指令
查看核心 linux 版本,如果是 CentOS ,會看到 Red Hat 相關資訊,因為 CentOS 是基於 RH
cat /proc/version
Continue Reading
將 installer 變數放在 PATH 環境變數中
就能讓我們直接在 bash 直接下達 installer 的指令
這裏介紹 Mac PATH 環境變數的設置方式
Continue Reading在使用 Laravel 裡面的 Vue Components 時,會需要使用到編譯 vue js 的功能
例如,修改 ExampleComponent.vue 之後,要執行以下語法才會將修改編譯到 app.js
npm run dev
Laravel 在 mac 或 linux 環境下,可能會出現 cross-env 相關錯誤訊息
Continue ReadingSupervisor 是由 python 所寫的一套進程管理系統,可以監控指定的程式,當程式崩潰停止執行時,將程式重啟
Supervisor 有分成 (1) server 主程式 與 (2) client process
(1) server 主程式: 是由 supervisor 執行 supervisor.conf 設定檔所啟動
(2) client process: 則由 supervisorctl 來控制 process
在運行過程,是以C/S模式來運行,也就是由 client process (supervisorctl) 將守護進程的訊息傳送給 server 主程式(supervisord),開始啟用守護進程服務。
一般操作設定 supervisor 都會建議在 root 權限下進行,
Continue Reading在設定 DNS 時,選完類型 (A、CNAME、MX…)、主機名稱 (@、subdomainname、service..)、指向(@、IP或網域)
接下來就會看到 TTL 包含了 1/2小時、1小時、12小時、1天、1周…
接下來會說明 TTL 是甚麼? 以及DNS TTL 選擇時間長短 ,差別在哪
TTL ( Time to Live, 存留時間) 是用來記錄 DNS 有效時間的參數值
Continue ReadingHeroku 的 Add on 擴充功能,提供了資料庫的項目
在 MySQL 會選擇 “ClearDB MySQL :: Database” 這個 AddOn
這項服務是免費的,但是必須要先填寫信用卡資料,才能完成啟用
啟用後,就能在 local cli 登入 heroku
接著執行
heroku config | grep CLEARDB_DATABASE_URL
或者
Continue Reading在swoole 官方介紹到運作原理時,就有針對 swoole 運作方式與 PHP-FPM 的差異進行比較
傳統 PHP-FPM 是基於 PHP Server 來解析
而 Swoole 則是用 C 所編譯的 PHP 擴充,可以直接透過 CLI mode 與 server 溝通
這一點差異就讓 swoole 能做到傳統 php model 無法達成的事情
讓 PHP 開發者可寫出高效能、可拓展的程式
並且可以直接設計 no-blocking I/O 程式,以及與底層 linux kernel 溝通
其中包括幾點:
…
Continue Reading在 Linux 建構服務時,通常遇到問題除了查詢log 之外,大多數還會確認連線是否正常,port是否有打通之類
Linux 命令列的 netstat 可以查詢到各種網路相關訊息
當我們要檢測 socket、TCP、UDP、IP、ethernet等各種連線,都可以用它來查詢
支援一般權限,以及 IPv4, IPv6
這裡筆記方式記錄一些用法
watch -d -n0 "netstat | grep ESTABLISHED"
以下可能是 CentOS的環境使用:
列出完整的 URL 位址
netstat -tup -W
這個指令可以將所有連線的 IP 位址列出來,並依照每個 IP 位址的連線數排序
netstat -an | grep ESTABLISHED | awk '/^tcp/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr
用 awk 分析連線 這個指令可以分析 Apache 的連線,列出每個 IP 位址的連線數
sudo netstat -anpt | grep http | grep ESTABLISHED | awk -F "[ :]*" '{print $4}' | uniq -c
這個指令可以將所有連線的 IP 位址列出來,並依照每個 IP 位址的連線數排序.
Continue ReadingMAC系統會自帶 apache, 在這裡要先將它關閉
暫停apache
sudo apachectl -k stop
關閉開機啟動
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
shift+command+p > Package Control:Install Package > sftp
File>SFTP/FTP/Setup Server
這時會開啟一個json格式的設定檔案
首先,先查看vagant ssh-config
$ vagrant ssh-config
Host homestead-7
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/liaoxiangru/Homestead/.vagrant/machines/homestead-7/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
設定 Sftp config 檔案,填寫對應資訊
例如:
{
// The tab key will cycle through the settings when first created
// Visit http://wbond.net/sublime_packages/sftp/settings for help
// sftp, ftp or ftps
"type": "sftp",
"sync_down_on_open": true,
"sync_same_age": true,
"host": "127.0.0.1",
"user": "vagrant",
//"password": "password",
"port": "2222",
"remote_path": "/home/vagrant/code",
//"file_permissions": "664",
//"dir_permissions": "775",
//"extra_list_connections": 0,
"connect_timeout": 30,
//"keepalive": 120,
//"ftp_passive_mode": true,
//"ftp_obey_passive_host": false,
"ssh_key_file": "~/.ssh/id_rsa",
//"sftp_flags": ["-F", "/path/to/ssh_config"],
//"preserve_modification_times": false,
//"remote_time_offset_in_hours": 0,
"remote_encoding": "utf-8",
//"remote_locale": "C",
//"allow_config_upload": false,
}
接著存擋為 sftp-config.json
Continue Reading