# 設定時區
run /bin/cp /usr/share/zoneinfo/asia/shanghai /etc/localtime \
&& echo 'asia/shanghai' > /etc/timezone
# 通過apt安裝 包
# 安裝 composer
run curl -ss | php \
&& mv composer.phar /usr/local/bin/composer \
&& composer self-update --clean-backups
#&& composer config -g repositories.packagist composer
# 安裝redis
run pecl install redis && docker-php-ext-enable redis && pecl clear-cache
# 安裝 pdo_mysql
run docker-php-ext-install pdo_mysql
# 編譯安裝 hiredis
run wget -o hiredis.tar.gz \
&& mkdir -p hiredis \
&& tar -xf hiredis.tar.gz -c hiredis --strip-components=1 \
&& rm hiredis.tar.gz \
&& ( \
cd hiredis \
&& make -j$(nproc) \
&& make install \
&& ldconfig \
) \&& rm -r hiredis
# 編譯安裝 swoole
# 編譯安裝 inotify
run wget -o inotify.tgz \
&& mkdir -p inotify \
&& tar -xf inotify.tgz -c inotify --strip-components=1 \
&& rm inotify.tgz \
&& ( \
cd inotify \
&& phpize \
&& ./configure \
&& make \
&& make install \
) \&& rm -r inotify \
&& docker-php-ext-enable inotify
# 從宿主系統的檔案系統上覆制檔案到目標容器的檔案系統
add . /var/www/easyswoole
# 進入工作目錄
workdir /var/www/easyswoole
# 執行composer 安裝依賴
run composer install --no-dev\
&& composer dump-autoload -o \
&& composer clearcache
# easyswoole框架安裝
run php bin/easyswoole install
# 指定在docker允許時指定的埠進行**
expose 80
# 執行容器時執行命令
cmd ["php", "/var/www/easyswoole/bin/easyswoole", "start", "-d"]
docker build -t yourimagename .# 使用此目錄的 dockerfile 建立映象
docker run -p 4000:9501 --name containername yourimagename # 執行埠 4000 到 9501 的對映 --name 為容器名稱 可以新增 -p 4022:22 對映ssh埠
docker logs containername # 檢視日誌
docker login # 使用您的 docker 憑證登入此 cli 會話
docker tag yourimagename username/repository:tag # 標記 yourimagename 以上傳到映象庫
docker push username/repository:tag # 將已標記的映象上傳到映象庫
上傳到映象庫之後,可以在別的電腦上執行docker
docker run -p 4000:9501 -p 4022:22 -d --name yourcontainername username/repository:tag # 執行映象庫中的映象
inotify擴充套件已經安裝, 如果需要熱重啟的話, 在官方
demo 例子裡面找到
在easyswooleevent.php檔案 mainservercreate 方法裡 新增如下**:
processmanager::getinstance()->addprocess('autoreload', inotify::class); # 記得 use inotify class
最後重啟容器 docker自定義網橋
由於docker預設網橋和公司網段衝突,導致無法訪問容器中執行的服務,因此要自定義docker網橋 docker0 1 關閉docker服務 2 停止舊網橋並刪除 ip link set dev docker0 down iplink del docker03 請先安裝bridge包 yum ins...
docker自定義網橋
除了預設的 docker0 網橋,使用者也可以指定網橋來連線各個容器。在啟動 docker 服務的時候,使用 b bridge 或 bridge bridge 來指定使用的網橋。如果服務已經執行,那需要先停止服務,並刪除舊的網橋。sudo systemctl stop docker sudo ip ...
docker 自定義映象
從阿里雲pull下來的centos映象沒有ifconfig,vim.為了有這些功能我們需要自定義映象.目的 1.支援vim 2.支援ifconfig 3.修改登入後的預設路徑 首先先在宿主機的根目錄下建立乙個資料夾mydocker,然後vim乙個dockerfile的dockerfile檔案 fro...