Centos下载安装Docker并制作php镜像

安装需要的软件包

yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖。

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum安装源 

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
​
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(国内建议安装阿里仓库)

查看可用版本

yum list docker-ce --showduplicates | sort -r

选择版本并安装

yum install docker-ce.x86_64            17.03.2.ce-1.el7.centos 

启动 Docker 并设置开机自启

systemctl start docker
systemctl enable docker

测试docker是否安装成功

 docker version

 创建dockerfile存放目录

mkdir -p /dockerfile 
cd /dockerfile/ 
mkdir -p php 
cd php/
touch Dockerfile

下载php包

 wget https://www.php.net/distributions/php-7.2.34.tar.gz

 

编写Dockerfile

#this docker file
#VERSION 1
#author:[email protected]
FROM centos:7
MAINTAINER  [email protected]
RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel
ADD php-7.2.34.tar.gz /tmp/

RUN cd /tmp/php-7.2.34 && \
    ./configure --prefix=/usr/local/php \
    --with-config-file-path=/usr/local/php/etc \
    --with-mysql --with-mysqli \
    --with-openssl --with-zlib --with-curl --with-gd \
    --with-jpeg-dir --with-png-dir --with-iconv \
    --enable-fpm --enable-zip --enable-mbstring && \
    make -j 4 && \
    make install && \
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf && \
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf && \
    sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.d/www.conf && \
    sed -i "21a \daemonize = no" /usr/local/php/etc/php-fpm.conf && \
    cp  php.ini-production /usr/local/php/etc/php.ini

RUN rm -rf /tmp/php-7.2.34* && yum clean all

WORKDIR /usr/local/php
EXPOSE 9000
CMD ["./sbin/php-fpm", "-c", "/usr/local/php/etc/php-fpm.conf"]

构建配置文件,这一步有点久 

docker build -t php:v1 .

 

确实是否成功

docker images

使用php镜像创建docker容器

 docker run -it -d --name=php_v1 --network=test  php:v1

 别多点一次运行,不然提示你,已经有这个容器了

验证php容器是否运行

docker ps -a

结束,容器正在运行中。 

猜你喜欢

转载自blog.csdn.net/qq_41722524/article/details/131028882