Docker最佳实践-部署LNMP环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 标签(linux): docker笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流环境准备[root@docker ~]# cat /etc/redhat-release CentOS Linux release 7.

标签(linux): docker

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

img_584f381f87df3361133cb5cd55f984d1.png

环境准备

[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';

登录浏览器测试

来个美女养养眼
img_a804ca3efd9e2ae9e35858c8da3af41b.png

docker常用命令
http://www.cnblogs.com/Csir/p/6888474.html

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
176 91
|
14天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
28天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
4天前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
44 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
21天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
87 44
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
61 23
|
1月前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
6月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
733 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
734 1
使用阿里云部署基于docker的mysql云服务