Docker 安裝,因為伺服器是CentOS的所以這裡只介紹CentOS。
Docker 要求 CentOS 系統的核心版本高於 3.10 ,使用uname -r 命令檢視你當前的核心版本
[root@yvsy ~]# uname -r
3.10.0-229.el7.x86_64
安裝 Docker
移出舊版本:
$ 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
安裝一些必要的系統工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
新增軟體源資訊:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 快取:
sudo yum makecache fast
安裝 Docker-ce:
sudo yum -y install docker-ce
啟動 Docker 後臺服務
sudo systemctl start docker
映象加速器 請在 /etc/docker/daemon.json 中寫入如下內容(如果檔案不存在請新建該檔案)
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com"
]
}
重新啟動服務
sudo systemctl daemon-reload
sudo systemctl restart docker
安裝 docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
下載 Laradock
git clone https://github.com/Laradock/laradock.git
重新命名env-example為.env
cp env-example .env
開啟專案的.env
檔案並設定以下內容:
APP_CODE_PATH_HOST=/var/www #你的專案目錄
PHP_VERSION=7.2 #PHP版本
MYSQL_VERSION=5.7 #Mysql版本,預設為最新版本(8.0),如果本地環境用的5.7用8.0會有很多麻煩所以我改成了5.7
MYSQL_DATABASE=default #MySQ預設資料庫
MYSQL_USER=default #預設使用者名稱
MYSQL_PASSWORD=secret #預設密碼
MYSQL_PORT=3306 #預設埠
MYSQL_ROOT_PASSWORD=root #root使用者預設密碼
CHANGE_SOURCE = true #啟用國內映象一些包的下載速度會飛快
我們進入mysql目錄開啟Dockerfile,然後把ARG MYSQL_VERSION=latest 改為ARG MYSQL_VERSION=5.7
ARG MYSQL_VERSION=5.7
我們進入laravel-echo-server目錄開啟Dockerfile,在run apk上面加入一行更改國內映象源,不加的話安裝會特別特別的慢
COPY package.json /usr/src/app/
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories #就是加這行
RUN apk add --update \
python \
python-dev \
py-pip \
build-base
nginx
nginx站點配置就在nginx/sites下面正常配置就好
supervisor
supervisor配置在php-worker/supervisord.d下面
laravel-echo-server
laravel-echo-server配置在laravel-echo-server下面,我們開啟laravel-echo-server.json,在redis裡新增 host: redis否則會出現連線不上redis服務的情況
"databaseConfig": {
"redis": {
"host": 'redis'
},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
基本配置已經完成現在我們到laradock目錄下面啟動
docker-compose up -d nginx mysql redis laravel-echo-server php-worker
經過漫長的等待這時候我們就可以看到我們的容器啟動了
我們可以使用docker ps -a 檢視我們的容器
docker exec -it 容器名稱 bash 我們可以進入對應容器執行操作
docker-compose up -d 如果服務容器已經存在,並且在建立容器後更改了服務的配置,使用此命令會會停止容器,然後重新建立容器。
docker-compose up 啟動容器
docker-compose restrat 重啟容器
docker-compose stop 停止容器
如果修改了Dockerfile配置檔案需要重新打包映象
docker-compose build 映象名稱
以上就是我搭建伺服器的過程,第一次寫文章有點小緊張,很多不足的地方還請大家多多指教。
本作品採用《CC 協議》,轉載必須註明作者和本文連結