Docker创建lrnp环境

基于CentOS7创建Docker镜像,Redis、NGINX、PHP容器。(如果创建失败,重启虚拟机重新运行就可以

一、Docker安装

1. 卸载老版本 

yum -y remove docker docker-common docker-selinux docker-engine

2. 安装需要的软件包

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

3. 设置国内yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4. 查看docker版本

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

5. 安装

yum install docker-ce-18.03.1.ce -y

6. 配置docker镜像源

vi /etc/docker/daemon.json 

{"registry-mirrors": ["http://hub-mirror.c.163.com"]}

7.启动

systemctl start docker

8.加入开机自启

systemctl enable docker

二、生成镜像

1、生成个centos 7镜像试试

[root@localhost ~]#  docker pull centos:centos7

centos7: Pulling from library/centos

524b0c1e57f8: Pull complete

Digest: sha256:e9ce0b76f29f942502facd849f3e468232492b259b9d9f076f71b392293f1582

Status: Downloaded newer image for centos:centos7

使用命令  docker images  查看

2、通过docker构建nginx+php+redis环境(用Dockerfile生成)

(1)创建Dockerfile文件

Redis:

FROM centos:centos7

RUN groupadd -r redis && useradd -r -g redis redis

RUN mkdir data ;\ yum update -y ; \ yum -y install gcc automake autoconf libtool make wget epel-release gcc-c++;

COPY ./redis-5.0.7.tar.gz redis-5.0.7.tar.gz

RUN mkdir -p /usr/src/redis; \

        tar -zxvf redis-5.0.7.tar.gz -C /usr/src/redis; \

        rm -rf redis-5.0.7.tar.gz; \

        cd /usr/src/redis/redis-5.0.7 && make ; \

        cd /usr/src/redis/redis-5.0.7 && make install

COPY ./conf/redis.conf /usr/src/redis/redis-5.0.7/redis.conf

EXPOSE 6379

ENTRYPOINT ["redis-server", "/usr/src/redis/redis-5.0.7/redis.conf"]

NGINX:

FROM centos:centos7

RUN groupadd -r nginx && useradd -r -g nginx nginx

#添加centos源(先下载wget)

COPY ./epel-7.repo /etc/yum.repos.d/epel.repo

RUN mkdir /data \

    && mkdir /conf \

    && yum update -y \

    && yum clean all \

    && yum makecache \

    && yum -y install gcc gcc-c++ autoconf automake make zlib zlib-devel net-tools openssl* pcre* wget \

    && yum clean all && rm -rf /var/cache/yum/*

#声明匿名卷

VOLUME /data

COPY ./nginx-1.14.1.tar.gz /data/nginx-1.14.1.tar.gz

RUN cd /data \

    && tar -zxvf nginx-1.14.1.tar.gz \

    && cd nginx-1.14.1 \

    && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx \

    && make && make install && rm -rf /data/nginx-1.14.1.tar.gz    

     && rm -rf /data/nginx-1.14. \ && ln -s /usr/local/nginx/sbin/* /usr/local/sbin

COPY ./conf/nginx.conf /conf

#进入容器时默认打开的目录

WORKDIR /conf

#声明端口

EXPOSE 80

#容器启动的时候执行,在docker run过程当中是会被其他指令替代

#CMD ["/usr/local/nginx/sbin/nginx","-c","/conf/nginx.conf","-g","daemon off;"]

#执行一条指

ENTRYPOINT ["/usr/local/nginx/sbin/nginx","-c","/conf/nginx.conf","-g","daemon off;"]


PHP:

FROM php:7.3-fpm-alpine

# Version

ENV PHPREDIS_VERSION 4.0.0

# Libs

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \

        && apk add \

            curl \

            vim \

            wget \

            git \

            openssl-dev\

            zip \

            unzip \

            g++ make autoconf

# docker方式安装PDO extension

RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" \

        && docker-php-ext-install pdo_mysql \

        && docker-php-ext-install pcntl \

        && docker-php-ext-install sysvmsg

# Redis extension

RUN wget http://pecl.php.net/get/redis-${PHPREDIS_VERSION}.tgz -O /tmp/redis.tar.tgz \

    && docker-php-ext-install pdo_mysql \

    && rm -rf /tmp/redis.tar.tgz \

    && docker-php-ext-enable redis

# 修改php.ini的文件 extension=redis.so

EXPOSE 9000

#设置工作目录

WORKDIR /www

(2)执行duckerfile文件生成镜像

到各自文件目录下运行以下命令

docker build -t php_srm_2007 .

docker build -t nginx_srm_2007 .

docker build -t redis_srm_2007 .

注意:生成命令后面带上“.”

最后生成完成



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352