文档章节

Docker 镜像只制作LNMP + redis

宇哲不犹豫
 宇哲不犹豫
发布于 2016/01/06 17:27
字数 1260
阅读 1542
收藏 10

Docker 镜像只制作LNMP + redis

一、制作背景

Window10 + VM11 + opensuse + docker + centos7dockers镜像

这里主要是分享LNMP + redis 镜像的制作,跳过其他。

二、配置LNMP

      1、安装docker 镜像 centos7

Yum install docker-io 安装docker

Service docker start   启动 docker 服务

Chkconfig docker on 设置开机启动

Docker pull centos:7  docker 仓库中获取镜像(这里的镜像)

可以通过 docker images 列出本地仓库中存在的docker 镜像

docker run -it -p 80:80 -p 10000:10000 --name=test2 centos:7

跑起镜像centos:7        开放80 10000端口权限 命名为 test2

Ctrl + p Ctrl + q 退出容器

Docker ps 查看正在运行的容器

 

Docker attach test2 进入正在运行的test2容器  L已经配好了)

2、安装 mysql

把所需要的源代码下载至 /usr/local/src

安装M mysql

Yum install –y wget

Wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz  获取mysql 源代码

将压缩包解压到/usr/local/mysql

命令如下:

cd /usr/local
tar -zxvf /usr/local/src/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.28-linux-glibc2.5-x86_64 mysql

创建一个mysql 用户组和mysql用户并将 mysql目录的所有的权限给mysql

Groupadd mysql
Useradd –r –g mysql mysql
Cd  /usr/local/mysql
Chown –R mysql:mysql ./

执行命令 ./scripts/mysql_install_db --user=mysql 安装mysql

安装之前先检查 有没有安装 perl 如果没有先安装:yum –y install perl perl-devel perl-Module-Install.noarch

再检查有没有安装libaio ,如果没有就安装:yum –y install libaio libaio-devel

 安装完提示:

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
  ./bin/mysqladmin -u root password 'new-password'
  ./bin/mysqladmin -u root -h 59ee867f63a2 password 'new-password'
Alternatively you can run:
  ./bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
  cd . ; ./bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
  cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
  http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
WARNING: Found existing config file ./my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as ./my-new.cnf,
please compare it with your file and take the changes you need.

修改当前目录拥有者为root用户:执行命令 chown -R root:root ./

修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data

support-files/mysql.server start(假如启动成功)

./bin/mysqladmin -u root password '密码'

检查是否安装成功: /usr/local/mysql/bin/mysql –u root –p

                           然后输入密码

3、安装 N nginx

wget http://nginx.org/download/nginx-1.9.8.tar.gz

1:首先安装Nginx所需要的库

a.GCC编译器

yum install -y gcc

b.G++编译器:C++来编译Nginxhttp模块

yum install -y gcc-c++

c.PCRE库:正则表达式

yum install -y pcre pcre-devel

d.zlib

HTTP包的内容作gzip压缩

yum install -y zlib zlib-devel

e.OpenSSL开发库

如果服务器要支持在SSL协议上传输HTTP就需要OpenSSL

yum install -y openssl openssl-devel

 

tar –zxvf nginx-1.9.8.tar.gz

 

wget http://nginx.org/download/nginx-1.9.8.tar.gz

mkdir /usr/local/nginx

1:首先安装Nginx所需要的库

a.GCC编译器

yum install -y gcc

b.G++编译器:C++来编译Nginxhttp模块

yum install -y gcc-c++

c.PCRE库:正则表达式

yum install -y pcre pcre-devel

d.zlib

HTTP包的内容作gzip压缩

yum install -y zlib zlib-devel

e.OpenSSL开发库

如果服务器要支持在SSL协议上传输HTTP就需要OpenSSL

yum install -y openssl openssl-devel

 

./configure --prefix=/usr/local/nginx

make && make install

 

4、安装P

wget  

yum -y install make cmake automake autoconf kernel-devel ncurses-devel libxml2-devel curl-devel libjpeg-devel libpng-devel  pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils   readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel openldap openldap-devellibxslt-devel libldap libldap-devel

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-zlib --with-curl --with-curlwrappers --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-openssl --enable-sockets --enable-zip --without-pear

 

跑起fpm

 命令:/usr/local/php/sbin/php-fpm

编辑 nginx.conf如下:

新建index.phpconnectMysql.php两个文件 ,保存在/usr/local/nginx/html

Index.php

内容:<?php phpinfo(); ?>

connectMysql.php

内容:

用浏览器跑他们两个

127.0.0.1/index.php

127.0.0.1/connectMysql.php

5、安装redis

wget http://download.redis.io/releases/redis-2.8.3.tar.gz

tar –zxvf redis-2.8.3.tar.gz

cd redis-2.8.3

make

cd src

mkdir /usr/local/redis

cp redis-server /usr/local/redis cp redis-benchmark /usr/local/redis cp redis-cli /usr/local/redis cp ../redis.conf /usr/local/redis

cd /usr/local/redis

跑起redis redis-server redis.conf

 

6、编译 phpreids

下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

cd /usr/local/src #进入软件包存放目录

wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

tar -zxvf 2.2.4.tar.gz #解压

cd phpredis-2.2.4 #进入安装目录

/usr/local/php/bin/phpize #phpize生成configure配置文件

./configure --with-php-config=/usr/local/php/bin/php-config  #配置

make  #编译

make install  #安装

安装完成之后,出现下面的安装路径

/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/


vi /usr/local/php/etc/php.ini  #编辑配置文件,在最后一行添加以下内容

添加

extension="redis.so"

:wq! #保存退出

sudo service nginx restart

sudo /etc/init.d/php-fpm restart

浏览器访问:127.0.0.1/index.php 查看redis 扩展是否已经装上

退出容器 exit

要先登陆才能上传哦

docker commit -m "create my first php env" -a "sw_cyz" 59ee867f63a2 cover/phpenv:v1

docker push cover/phpenv:v1 


© 著作权归作者所有

共有 人打赏支持
宇哲不犹豫
粉丝 0
博文 44
码字总数 18225
作品 0
汕尾
程序员
私信 提问
加载中

评论(2)

宇哲不犹豫
宇哲不犹豫

引用来自“随意丶nice”的评论

直接使用dockerfile构建啊!

这个嘛,有时间就试试3
随意丶nice
随意丶nice
直接使用dockerfile构建啊!
用dockerfile配置生成docker image并实现容器部署

前言: docker有个dockerfile 是什么东西,为什么我们要用他? 简单的说: 以前咱们docker run创建一个docker容器,有时候会附带不少的参数。 比如: docker run -d -p 22 -p 8080:8080 ruif...

rfyiamcool
2014/08/16
0
0
Docker下redis与springboot三部曲之二:安装redis主从和哨兵

在上一章《 Docker下redis与springboot三部曲之一:极速体验》我们快速体验了springboot访问单机版redis,今天的实战中我们在Docker下搭建redis主从和哨兵服务; 原文地址:http://blog.csd...

boling_cavalry
01/10
0
1
Swoole 分布式通讯框架--SwooleDistributed

SwooleDistributed 是swoole分布式系统的实现,他提供了一套基于swoole扩展的分布式通讯框架。 结构图: SwooleDistributed 不仅提供了分布式搭建的必要设施,还提供了4大组件帮助你提高编写...

白_猫
2016/07/25
6.2K
3
开源中国的 Docker 优秀文章汇总

Docker 是一个开源的 Linux 应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相...

oschina
2014/08/25
5.9K
11
166.8. Docker Example

docker pull centos:7 docker pull centos:7 7: Pulling from library/centos343b09361036: Pull completeDigest: sha256:bba1de7c9d900a898e3cadbae040dfe8a633c06bc104a0df76ae24483e03c07......

玄学酱
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

三星Galaxy S10可能会配备TOF 3D摄像头

12月3日消息,据Phone Arena报道,三星Galaxy S10可能会配备TOF 3D摄像头。 Phone Arena报道称三星Galaxy S10一共有五颗摄像头(前置双摄+后置三摄),而5G版本的Galaxy S10后置四颗摄像头,...

问题终结者
26分钟前
8
0
fabric增删改查Mac

备份1.3版本,重新下载1.1版本到fabric文件夹 /opt/gopath/src/github.com/hyperledger/fabric -> /opt/gopath/src/github.com/hyperledger/fabric1.3 新建/opt/gopath/src/github.com/hype......

八戒八戒八戒
54分钟前
9
0
盘点愚人节各大网站彩蛋,谁最爱恶搞?

如今的愚人节俨然已是各品牌宣传了一个重要节日,同时,也成为了各大互联网科技企业凑热闹,比拼创意和策划的节日。跟小编一起看看有哪些有趣的策划吧! Google地图变成吃豆人游戏 每年愚人节...

临江仙卜算子
今天
6
0
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树...

java菜分享
今天
6
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部