一、安装CentOs容器

1.进入docker下载CentOs,这里我使用的CentOs6.8

  docker pull centos:6.8

2.创建容器

  sudo docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name lnmp -p 80:80 -p 3306:3306  -d -v /Users/qiao/www:/home/www  --restart=always centos:6.8

  --privileged 指定容器是否是特权容器。这里开启特权模式。

  --cap-add SYS_ADMIN 添加系统的权限。

  -e container=docker 设置容器的类型。

  -it 启动互动模式。

  -p 端口映射,为了方便本地连接。

  -v 映射目录,使本地的目录和容器的目录共享

  --name 容器名称

3.进入容器

  docker exec -ti lnmp /bin/bash

二、安装lnmp环境

环境我这里选择的是,nginx:latest(最新版本)mysql(5.7.21)php(7.0.23)

1.首先安装依赖包

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make cmake libtool* git tree

2.安装libiconv

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
./configure --prefix=/usr/local
make && make install

3.安装libmcrypt

tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install
cd libltdl/
./configure --enable-ltdl-install
make
make install

4.安装mhash

tar -zxvf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9
./configure
make
make install

5.安装mcrypt

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure
make
make install

6.软链

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

7.安装mysql 5.7

1.解压
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
2.移动到/usr/local下
mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql
3.添加用户组和用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
4.进入安装目录
cd /usr/local/mysql
5.修改当前目录拥有者为新建的mysql用户
chown -R mysql:mysql ./
6.安装mysql的一些依赖包(不安装会报错)
yum -y install numactl libaio
7.安装mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
8.开启mysql服务
./support-files/mysql.server start
9.将mysql进程放入系统进程中
cp support-files/mysql.server /etc/init.d/mysqld
10.重新启动mysql服务
service mysqld restart
11.为mysql设置环境变量
vi /etc/profile
添加 export PATH=$PATH:/usr/local/mysql/bin
刷新环境变量 source /etc/profile
12.重设mysql密码(这里使用简单粗暴的方法)
(1)关闭mysql服务
service mysqld stop
(2)进入mysql下bin目录
cd /usr/local/bin
(3)运行
mysqld_safe --skip-grant-tables &
(4)登陆mysql并修改密码
mysql -u root -p
use mysql
update user set authentication_string=PASSWORD('root') where User='root';
quit;
service mysqld restart;
  再次进入mysql后,会提示你修改密码,输入
  alter user user() identified by '123456';

8.安装pcre

tar -zxvf pcre-8.41.tar.gz
cd pcre-8.31
./configure
make && make install

9.安装zlib

tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install

10.openssl安装

tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config
make && make install

启动mongodb

./mongod --config mongodb.conf
启动memcached
memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 1024 –P /var/memcached/memcached.pid

docker下安装centos,并在其上搭建lnmp环境的更多相关文章

  1. CentOS 7 上搭建LNMP环境

    (转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...

  2. 如何在 Debian 9 上搭建 LNMP 环境

    步骤一.安装Nginx Nginx在默认的Debian存储库中可用. 使用以下命令更新软件包索引并安装Nginx: sudo apt update sudo apt install nginx 安装过 ...

  3. CentOS双机中Docker下安装Mysql并配置互为主从模式

    CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...

  4. Centos 7 下yum搭建lnmp环境(yum安装方式)

    我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...

  5. 基于kail的docker下安装sqli-labs

    后面的关卡涉及到转码问题,比如空格,在Windows中会受到限制,比如24关的文件重命名问题,所以在这记录下在docker下安装sqli-labs,在linux下运行就不会受到限制. 参考链接:htt ...

  6. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  7. 【FastDFS】小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?

    写在前面 在[冰河技术]微信公众号的[分布式存储]专题中,我们分别搭建了单节点FastDFS环境和高可用FastDFS集群环境.但是,之前的环境都是基于CentOS 6.8服务器进行搭建的.很多小伙伴 ...

  8. 在CentOS 8服务器上搭建FastDFS环境

    什么是FastDFS? 这里,我就摘录下百度百科上对于FastDFS的描述. FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下 ...

  9. 【Flutter 1-2】在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境

    在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境 文章首发地址 配置环境变量 由于部分网站被墙的原因,我们需要先配置Flutter国内镜 ...

随机推荐

  1. 上海月薪 1w 和家乡月薪 5000 你选择哪?

    如题,这是我在知乎上看到的一个热门话题--要现在的我来回答的话,毫无疑问会选择上海,即便月薪只有 5000 也去,还要趁早去. 有读者可能会质问我:"你之前不是说在三线城市洛阳工作很爽吗?怎 ...

  2. (转)GNU风格ARM汇编语法指南(非常详细)1

    原文地址:http://zqwt.012.blog.163.com/blog/static/120446842010111481551809/ 汇编源程序一般用于系统最基本的初始化:初始化堆栈指针.设 ...

  3. PostgreSQL查询表以及字段的备注

    目录 查询所有表名称以及字段含义 查看所有表名 查看表名和备注 查看特定表名备注 查看特定表名字段 查询所有表名称以及字段含义 select c.relname 表名,cast(obj_descrip ...

  4. 使用PageHelper插件分页时,如何对对象进行转换以及添加属性

    一.插件介绍 PageHelper是针对Mybaits的分页插件,支持任何复杂的单表.多表分页. 二.基本用法 以springboot为例,有两种方式配置,一种是传统的,引入依赖,编写配置类:一种是使 ...

  5. javaScript 基础知识汇总 (十五)

    1.模块简介 什么是模块: 模块就是一个文件,一个脚本,通过关键字export 和 import 交换模块之间的功能. export 关键字表示在当前模块之外可以访问的变量和功能. import 关键 ...

  6. 【Weiss】【第03章】双链表例程

    双链表因为多了个前向指针,需要考虑的特殊因素多了一倍 所以中间插入(这儿没写)和中间删除会比较复杂. 其它倒没什么特别的,代码如下. 测试代码 #include <iostream> #i ...

  7. C/C++、C#、JAVA(一):代码模板与库代码的引入

    代码默认模板 编译性高级编程语言中,几乎每种语言,都有个静态的 main 方法作为程序启动入口,每种语言都有其编写规范.为了学习 C/C++.C#.JAVA四种语言,我们要先从默认代码模板中,慢慢摸索 ...

  8. nuxt创建项目的步骤

    nuxt创建项目的步骤 1.基本步骤 // 创建package.json依赖管理文件 npm init -y // 在package.json文件中添加运行nuxt的命令,之后npm run dev启 ...

  9. 动态规划-Maximum Subarray-Maximum Sum Circular Subarray

    2020-02-18 20:57:58 一.Maximum Subarray 经典的动态规划问题. 问题描述: 问题求解: public int maxSubArray(int[] nums) { i ...

  10. Contest 161

    2019-11-03 20:35:18 总体感受:本周的赛题完全是反过来的,第一题最难,第二题次之,最后的hard反而是最简单的. 注意点:心态放平稳,慢慢来.