标签(linux): docker

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流

环境准备

[root@docker ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@docker ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 209M 517M 8.9M 1.1G 1.3G
Swap: 1.0G 0B 1.0G
[root@docker ~]# hostname -I
10.0.0.250 172.16.1.250
systemctl disable firewalld.service
systemctl stop firewalld.service
iptables -F

安装yum-utils,它提供yum-config-manager实用程序

yum install -y yum-utils

添加稳定版本库

yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

更新yum包索引

yum makecache fast

安装Docker社区版

yum install docker-ce -y

启动docker守护进程

systemctl enable docker
systemctl start docker
systemctl status docker

测试,,,网络延时问题可能会导致测试不成功,多测两次

docker run hello-world

查看镜像

c7是下面要用来启动容器的镜像,在centos镜像的基础上安装了常用软件包。

[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
c7 latest 8af948261786 2 days ago 476 MB
centos latest a8493f5f50ff 6 weeks ago 192 MB

这里需要一些相关的软件包和配置文件,这里给大家提供了链接:http://pan.baidu.com/s/1eR8vdXg 密码:l1sj

创建web01

docker run --network=host -itd  --name=web01 -h web01 c7
docker attach web01

使用提供的软件包安装nginx

#nginx
yum localinstall -y nginx-1.10.2-1.x86_64.rpm

nginx配置文件

cd /application/nginx/conf/

[root@web01 conf]# cat nginx.conf
worker_processes  1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include extra/blog.conf;
}
[root@web01 conf]# mkdir extra
[root@web01 extra]# ls
blog.conf

上传wordpress到站点根目录

[root@web01 extra]# cd /application/nginx/html/
[root@web01 html]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
[root@web01 html]# tar xf wordpress-4.7.4-zh_CN.tar.gz
[root@web01 html]# chown -R www.www /application/nginx/html

启动nginx,安装php并启动

/application/nginx/sbin/nginx
chmod +x /etc/rc.local
echo "/application/nginx/sbin/nginx" >> /etc/rc.local #php
yum localinstall libiconv-devel-1.15-1.x86_64.rpm php-5.5.32-1.x86_64.rpm -y
/application/php/sbin/php-fpm
chmod +x /etc/rc.local
echo "/application/php/sbin/php-fpm" >> /etc/rc.local

创建数据库容器

docker run --network=host -itd  --name=db01 -h db01 c7
docker attach db01

安装并启动数据库

yum -y install mariadb mariadb-server
mysql_install_db --user=mysql
mysqld_safe &>/dev/null &
/usr/bin/mysqladmin -u root password '123456'
mysql -uroot -p123456

创建wordpress库和授权帐户

create database wordpress;
grant all on wordpress.* to 'wordpress'@'localhost' identified by '123456';
grant all on wordpress.* to wordpress@'172.16.1.250' identified by '123456';

登录浏览器测试

来个美女养养眼

docker常用命令

http://www.cnblogs.com/Csir/p/6888474.html

Docker最佳实践-部署LNMP环境的更多相关文章

  1. docker中基于centos镜像部署lnmp环境 php7.3 mysql8.0 最新版

    Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上 ...

  2. 【转载】Centos系统快速部署LNMP环境

    PHP语言在Linux系统上运行的时候,需要在Linux系统上部署相应的Nginx.MySQL.PHP等环境,只有将这些环境参数都设置好,PHP相关应用程序才可正常运行,部署环境的方法有很多种,可手动 ...

  3. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  4. 手动部署LNMP环境(CentOS 7)

    手动部署LNMP环境(CentOS 7) 一.修改 yum 源 [root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/e ...

  5. 十九.部署LNMP环境、构建LNMP平台、地址重写

    proxy client web1 web2   1.部署LNMP环境 1.1 部署nginx(前面已部署过) 1.2 部署mariadb ]# yum -y install mariadb mari ...

  6. 高级运维(三):部署Lnmp环境、构建Lnmp平台、地址重写

    一.部署LNMP环境 目标: 安装部署Nginx.MariaDB.PHP环境 1> 安装部署Nginx.MariaDB.PHP.PHP-FPM: 2> 启动Nginx.MariaDB.FP ...

  7. 手动编译部署LNMP环境(CentOS7.5+Nginx-1.18.0+MySQL-5.7.30+PHP-7.4.14)

    在平时运维工作中,经常需要用到LNMP应用框架.LNMP环境是指在Linux系统下,由Nginx + MySQL + PHP组成的网站服务器架构. 可参考前面的文章: 如何在CentOS 7上搭建LA ...

  8. docker最佳实践-----美团点评的分享

    美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”).该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台.目前该平台为美团点 ...

  9. 原lnmp环境服务器升级为mysql+nginx+php单个docker容器构建的lnmp环境

    时间:2018年2月 一.项目背景 我单位现web服务架构为lnmp环境,服务器软件.硬件升级部署难:同时开源软件日新月异,考虑到技术升级,领导决定服务器架构整体升级为容器架构,维护性.移植性强. 二 ...

随机推荐

  1. 《JAVA程序设计与实例》记录与归纳--类与对象

    类与对象 概念贴士: 1. 类必须先定义了才能使用.类是创建对象的模板,创建对象也叫类的实例化. 2. 在Java中,使用new关键字来创建对象,一般有一下3个步骤: 1)声   明:声明一个对象,包 ...

  2. 搞懂spring事务

    最近一个官网的项目,我在service层有两个添加数据的操作,很意外报错了,然后就研究到了事务 之前只是知道声明式事务和编程式事务,编程式的事务显得比较麻烦,一般都是使用声明式事务.. spring提 ...

  3. gitignore文件的作用

    早上上传文件的时候,发现有一些密钥不需要增加到版本库中,但是由于每次git status都会提示Untracked files ...并且这些文件并不需要一直提示,会占用相应的需要跟踪的文件位置,导致 ...

  4. python数据集处理

    一.如何删除数据里中的某一列 1)打开文件open() 2)for循环读取文件的每一行 strip()--去除首尾的空格,split()--以空格分割数据.返回list数据 /** 这一部分对数据集进 ...

  5. 【JavaScript函数】

    函数的定义 : [完成某一个功能的代码段] 1.方便维护 2.重复利用 3.执行代码段 函数的一些要求: function 定义某一个函数 命名最好要有语义化, 函数名称最好是驼峰, 严格区分大小写, ...

  6. 最短路(spfa)

    http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory ...

  7. node学习笔记2 —— npm包管理

    全局模式安装包 将包安装为全局可用的可执行命令, 并非可以从任意地方require 将 package.json中bin定义的文件软链到统一的目录下, 该目录可以通过如下方式推算出来: path.re ...

  8. 久未更 ~ 一之 —— 关于ToolBar

    很久没更博客了,索性开一个久未更 系列 > > > > > 久未更 系列一:关于ToolBar的使用(后续补充) //让 ToolBar 单独使用深色主题 使得 tool ...

  9. 织梦CMS首页调用分类信息栏目及列表方法

    不懂代码,搜索学习一晚上,都是说调用特定栏目分类信息列表的,用这个代码 {dede:arclistsg row='10' titlelen='24' orderby='pubdate' channel ...

  10. base64是啥原理

    Base64是一种基于64个可打印字符来表示二进制数据的表示方法.由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符.三个字节有24个比特,对应于4个Base64单元,即3个字节可表 ...