docker官方php鏡像中,既沒有文件 /etc/sysctl.conf,也沒有sysctl命令,
?
請問要在容器里面優(yōu)化內(nèi)核?,還是在外部的物理機(jī)的linux上優(yōu)化內(nèi)核?
在 docker 中嘗試了一下午,結(jié)果已失敗告終。
FROM centos:7
RUN yum -y install epel-release
RUN yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
RUN yum -y install yum-utils
RUN yum-config-manager --enable remi-php73
RUN yum -y install php-cli php-posix php-event php-zip php-openssl php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-mysqlnd php-redis --skip-broken
RUN mkdir /app
COPY ./ /app
WORKDIR /app
RUN chmod -R 777 runtime
CMD ["php", "/app/start.php", "start"]
接下來準(zhǔn)備使用阿里云的系統(tǒng)完成優(yōu)化后,然后打包制作鏡像。但也在猶豫這么做的意義,因為物理機(jī)是同樣需要優(yōu)化的。
使用Alpine linux + docker,非常方便安裝event拓展
apk search event
apk add php7-event
apk add libevent
首先,感謝上面兩位大佬對于安裝event的提出的方案。
關(guān)于內(nèi)核優(yōu)化的第2點問題,目前為止已經(jīng)有了些頭緒。
目前看來,通過將容器的網(wǎng)絡(luò)模式設(shè)置為 --net host 是一個可行的方案。因為 webman 的服務(wù),一般是獨立的并且可以由開發(fā)者自定義端口,和 nginx 或 mysql 等服務(wù)有所不同。