mkdir Dockerfilecd Dockerfile/touch dockerfilevi dockerfilei //插入
dockerfile内容
FROM centos:8 #version definedENV SWOOLE_VERSION 4.4.23 #install libsRUN yum -y updateRUN yum install -y curl zip unzip wget openssl-devel gcc-c++ make autoconf git passwd#install phpRUN rpm -Uvh RUN rpm -Uvh RUN yum install -y php74 php74-php php74-php-devel php74-php-bcmath php74-php-cli php74-php-common php74-php-gd php74-php-json php74-php-mbstring php74-php-xmlRUN rm -rf /usr/bin/php && ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php\ && rm -rf /usr/bin/phpize && ln -s /opt/remi/php74/root/usr/bin/phpize /usr/bin/phpize\ && rm -rf /usr/bin/php-config && ln -s /opt/remi/php74/root/usr/bin/php-config /usr/bin/php-config # composerRUN curl -sS | php \ && mv composer.phar /usr/bin/composer && chmod +x /usr/bin/composer# use aliyun composerRUN composer config -g repo.packagist composer CMD ["systemctl","restart","sshd"]#安装ssh服务RUN yum install -y openssh-serverRUN mkdir -p /var/run/sshdRUN mkdir -p /root/.ssh#取消pam限制RUN sed -ri \"s/session required pam_loginuid.so/#session required pam_loginuid.so/g" /etc/pam.d/sshd RUN wget {SWOOLE_VERSION}.tar.gz -O swoole.tar.gz \ && mkdir -p swoole \ && tar -xf swoole.tar.gz -C swoole --strip-components=1 \ && rm swoole.tar.gz \ && ( \ cd swoole \ && phpize \ && ./configure --enable-openssl \ && make \ && make install \ ) \ && sed -i "2i extension=swoole.so" `php -i | grep php.ini | awk -F "=>" '{print $2}' |grep php.ini` \ && rm -r swoole # DirVOLUME /workWORKDIR /work EXPOSE 9501 22
Esc
:wq
构建镜像
docker build -t easyswoole -f dockerfile .
查看easyswoole镜像
docker images
启动一个easyswoole容器
docker run -itd --privileged \ --name=easyswoole -p 0.0.0.0:9502:9502 -v /work:/work \ easyswoole /usr/sbin/init
查看easyswoole容器
docker ps