centos7 安裝docker及Hyperf


安裝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啟動命令即可。

熱更新/熱重載

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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM