安裝docker:
用yum源安裝-查看是否已安裝docker列表:
yum list installed | grep docker
安裝docker:
yum -y install docker
啟動docker
systemctl start docker
查看docker服務狀態
systemctl status docker
自此docker安裝完成;
進入docker后修改時區:
#修改時區,設置為上海時區
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
為docker設置國內阿里雲的鏡像加速器:
vi /etc/docker/daemon.json
添加內容如下:
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
配置文件daemmon,json添加阿里雲鏡像地址,保存並退出,重啟docker服務:
systemctl restart docker sudo systemctl status docker sudo docker ps -a -q // 查看所有容器ID sudo docker stop $(sudo docker ps -a -q) // stop停止所有容器 sudo docker rm $(sudo docker ps -a -q) // remove刪除所有容器
一次性停止刪除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
docker重啟之后,就可以正常拉取鏡像了:
根據Hyperf官方文檔安裝:
# 下載並運行 hyperf/hyperf 鏡像,並將鏡像內的項目目錄綁定到宿主機的/mnt/hgfs/www(虛擬機共享目錄)
docker run -v /mnt/hgfs/www/hyperf/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.9-cli
# 鏡像容器運行后,在容器內安裝 Composer
wget https://github.com/composer/composer/releases/download/1.8.6/composer.phar
或
curl -sS https://getcomposer.org/installer | php
chmod u+x composer.phar
mv composer.phar /usr/local/bin/composer
# 將 Composer 鏡像設置為阿里雲鏡像,加速國內下載速度
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
# 通過 Composer 安裝 hyperf/hyperf-skeleton 項目
composer create-project hyperf/hyperf-skeleton
# 進入安裝好的 Hyperf 項目目錄
cd hyperf-skeleton
# 啟動 Hyperf
php bin/hyperf.php start
接下來,就可以在 /mnt/hgfs/www/ 中看到您安裝好的代碼了。由於 Hyperf 是持久化的 CLI 框架,當您修改完您的代碼后,通過 CTRL + C
終止當前啟動的進程實例,並重新執行php bin/hyperf.php start啟動命令即可。
熱更新/熱重載
- ha-ni-cc/hyperf-watch 一個基於 Swoole 實現的通用熱更新組件
git地址下載:https://github.com/ha-ni-cc/hyperf-watch.git
將'watch'文件放在項目更目錄下,在容器中執行:
啟動監聽:
php watch
啟動監聽並刪除代理類緩存(./runtime/container):
php watch -c
退出監聽:
Control + C
安裝 Wsdebug
git地址 :https://github.com/lamplife/wsdebug
注意運行docker時同步多個端口:
docker run -v /mnt/hgfs/www/hlyes_v1/:/hlyes -p9500:9500 -p 9501:9501 -p 9503:9503 -p 9504:9504 -p 9600:9600 -p 9601:9601 -p 9602:9602 -it --entrypoint /bin/sh hyperf/hyperf:7.2-alpine-v3.9-cli
指定容器ID
docker run -v /mnt/hgfs/www/hlyes_v1:/hlyes -p 9600:9600 -p 9604:9604 -p 9601:9601 -p 9500:9500 -it --entrypoint /bin/sh 9e7b52913c1a
進入已啟動的容器
docker exec -it 775c7c9ee1e1 /bin/bash
啟動redis
redis-server &
通過docker-compose啟動
安裝
#curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose #chmod +x /usr/local/bin/docker-compose #docker-compose --version #docker-compose version
編寫docker-compose.yml
version: '2' services: org: build: context: ./dev_hyperf networks: - dev_hyperf volumes: - /mnt/hgfs/www/hlyes_v1/hlyes_v1_org:/www ports: - "9601:9601" api: build: context: ./dev_hyperf ports: - "9500:9500" networks: - dev_hyperf volumes: - /mnt/hgfs/www/hlyes_v1/hlyes_v1_api:/www center: build: context: ./dev_hyperf ports: - "9501:9501" - "9604:9604" networks: - dev_hyperf volumes: - /mnt/hgfs/www/hlyes_v1/hlyes_v1_center:/www cache_server: image: "redis:6.0.4" networks: - dev_hyperf networks: dev_hyperf:
編寫Dockerfile
docker_composer/dev_hyperf/Dockerfile
FROM hyperf/hyperf:7.4-alpine-v3.9-cli WORKDIR /www # CMD ["php","bin/hyperf.php","start"] CMD php watch
Dockerfile執行sh
FROM hyperf/hyperf:7.4-alpine-v3.9-cli ## # ---------- env settings ---------- ## # --build-arg timezone=Asia/Shanghai ARG timezone ENV TIMEZONE=${timezone:-"Asia/Shanghai"} \ APP_ENV=dev # update RUN set -ex \ && apk update \ # show php version and extensions && php -v \ && php -m \ # ---------- some config ---------- && cd /etc/php7 \ # - config PHP && { \ echo "upload_max_filesize=100M"; \ echo "post_max_size=108M"; \ echo "memory_limit=1024M"; \ echo "date.timezone=${TIMEZONE}"; \ } | tee conf.d/99-overrides.ini \ # - config timezone && ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \ && echo "${TIMEZONE}" > /etc/timezone \ # ---------- clear works ---------- && rm -rf /var/cache/apk/* /tmp/* /usr/share/man \ && echo -e "\033[42;37m Build Completed :).\033[0m\n" WORKDIR /www CMD sh /www/entrypoint.sh
entrypoint.sh
#! /bin/bash php /www/hlyes_v1_center/watch & php /www/hlyes_v1_crm/watch & php /www/hlyes_v1_fms/watch & php /www/hlyes_v1_mms/watch & php /www/hlyes_v1_oms/watch & php /www/hlyes_v1_org/watch & php /www/hlyes_v1_pms/watch & php /www/hlyes_v1_srm/watch & php /www/hlyes_v1_api/watch & php /www/hlyes_v1_tms/watch
刪除容器
sudo docker rm $(sudo docker ps -a -q)
啟動運行
docker-compose -f /mnt/hgfs/www/docker_compose/dev-compose.yml up
docker-compose -f E:\www\docker_compose\dev-compose.yml up -d --build
服務注冊:
consul agent -dev -client 0.0.0.0 -ui
redis 常用命令
redis-server /usr/local/redis/etc/redis.conf //啟動redis pkill redis //停止redis