Deploy MYSQL

docker pull mysql

挂载卷保存数据文件

mkdir -p /mysql/data
chmod -p 777 /mysql/data

MySQL使用过程中的环境变量

Num Env Variable Description
1 MYSQL_ROOT_PASSWORD root用户的密码
2 MYSQL_DATABASE 创建一个数据库
3 MYSQL_USER,MYSQL_PASSWORD 创建一个用户以及用户密码
4 MYSQL_ALLOW_EMPTY_PASSWORD 允许空密码

1、创建网络

docker network create --subnet 10.0.0.0/24 --gateway 10.0.0.1 marion
docker network ls
➜ ~ docker network ls | grep marion
6244609a83bb marion bridge local

2、创建MYSQL container

➜  ~ docker run -v /mysql/data:/var/lib/mysql --name mysqldb --restart=always -p 3306:3306 -e MYSQL_DATABASE='wordpress' -e MYSQL_USER='marion' -e MYSQL_PASSWORD='marion' -e MYSQL_ALLOW_EMPTY_PASSWORD='yes' -e MYSQL_ROOT_PASSWORD='marion' --network=marion --ip=10.0.0.2 -d mysql
➜ ~ docker ps -a
➜ marion docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3013c407c74b mysql "docker-entrypoint..." 4 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp mysqldb
➜ marion docker exec -it 3013c407c74b /bin/bash
root@3013c407c74b:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
9: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:0a:00:00:02 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:aff:fe00:2/64 scope link
valid_lft forever preferred_lft forever
root@3013c407c74b:/# apt-get install net-tools -y
root@3013c407c74b:/# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.11:45485 0.0.0.0:* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN -
udp 0 0 127.0.0.11:48475 0.0.0.0:* -
root@3013c407c74b:/# mysql -u marion -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.20 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| wordpress |
+--------------------+
2 rows in set (0.01 sec) mysql>

3、运行nginx-php

mkdir -p /var/www/html
docker run --name php7 -p 9000:9000 -p 80:80 -v /var/www/html:/usr/local/nginx/html --restart=always --network=marion --ip=10.0.0.3 -d skiychan/nginx-php7
docker ps
docker exec -it cfb9556b71b3 /bin/bash
cd /usr/local/php/etc
vim php.ini
date.timezone =Asia/Shanghai

编辑nginx配置文件/usr/local/nginx/conf/nginx.conf

user www www;  #modify
worker_processes auto; #modify #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
error_log /var/log/nginx_error.log crit; #add #pid logs/nginx.pid;
pid /var/run/nginx.pid; #modify
worker_rlimit_nofile 51200; events {
use epoll;
worker_connections 51200;
multi_accept on;
} http {
include mime.types;
default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; client_max_body_size 100m; #add
sendfile on;
#tcp_nopush on; #keepalive_timeout 0;
keepalive_timeout 120; #65; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; root /usr/local/nginx/html;
index index.php index.html index.htm; location / {
try_files $uri $uri/ /index.php?$args;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name;
include fastcgi_params;
}
} #add
##########################vhost#####################################
include vhost/*.conf; } daemon off;

测试配置文件是否有问题

[root@cfb9556b71b3 sbin]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重新加载配置文件

[root@cfb9556b71b3 sbin]# /usr/local/nginx/sbin/nginx -s reload
[root@cfb9556b71b3 sbin]#



[Docker03] Deploy LNMP on Docker的更多相关文章

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

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

  2. centos7搭建docker并部署lnmp (转)

      1.首先呢先更新yum源 yum -y update 2.1.安装docker存储库 yum install -y yum-utils \ device-mapper-persistent-dat ...

  3. Centos7搭建Docker部署LNMP

    1.首先呢先更新yum源 yum update 2.1.安装docker存储库 yum install -y yum-utils \ device-mapper-persistent-data \ l ...

  4. Docker部署lnmp 实战 (多注意配置文件,不管访问试试换个浏览器)

    Docker部署LNMP环境 关闭防火墙,设置自定义网络 systemctl stop firewalld systemctl disable firewalld setenforce 0 docke ...

  5. Docker之LNMP分布式容器部署

    Docker之LNMP分布式容器部署 目录 Docker之LNMP分布式容器部署 一.项目模拟 1. 项目环境 2. 服务器环境 3. 任务需求 二.Linux系统基础镜像 三.Nginx 1. 建立 ...

  6. Docker三剑客之Docker Compose

    一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...

  7. Docker的镜像制作与整套项目一键打包部署

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr. ...

  8. Docker基础(下)

    Docker基础(下) 链接:https://pan.baidu.com/s/1u8Tg5qB4ZZHEK6GqCJkjwg 提取码:u8hb 复制这段内容后打开百度网盘手机App,操作更方便哦 5. ...

  9. 生产环境中使用Docker Swarm的一些建议

    译者按: 实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行.然而,面对Kubernetes, Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它 ...

随机推荐

  1. Django中的Model.objects.create() 和 Model() 的区别?

    Django 官方文档说明 objects.create 是 A convenience method for creating an object and saving it all in one ...

  2. k8s集群搭建(三)

    Dashboard安装 Kubernetes Dashboard是k8s提供基于Web的监控和操作界面,可以通过UI来显示集群的所有工作负载,除了查看资源,还是创建.编辑.更新.删除资源. 根据Kub ...

  3. BFC 浅谈

    写在前面 Block formatting context (块级格式化上下文) 页面文档由块block构成 每个block在页面上占据自己的位置使用新的元素构建BFC overflow:hidden ...

  4. OpenGL的矩阵使用——绘制桌子

    其中最左边的桌子循环上移(即匀速上移到一定位置后回到原点继续匀速上移),中间的桌子不断旋转(即绕自身中间轴旋转),最右边的桌子循环缩小(即不断缩小到一定大小后回归原来大小继续缩小). 桌子的模型尺寸如 ...

  5. Lambda表达式(JDK8)

    在说Lambda表达式之前,先介绍一下函数式接口 函数式接口 就是只定义了一个抽象方法的接口,我们可以使用注解@Functionallnterface,来强约束这种接口为函数式接口.如Runnable ...

  6. 微信小程序开发,如何优雅地兼容

    小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容. 关于单个 API 如何兼容,微信官方提供了兼容文档,因此我们这里不再赘述.下面主要讨论在整个项目如 ...

  7. JavaScript sort() 对json进行排序(数组)

    function up(x,y){//升序 return x[val.prop] - y[val.prop] } function down(x,y){//降序 return y[val.prop] ...

  8. 我折腾的shell笔记

    目录 Mac一些常用的快捷键记录 iTerm2或者命令行相关 Mac桌面上或者某目录下操作 一些实用脚本示例 代码无提示或者其他抽风症状,清除Xcode缓存 查看当前网络ip地址 日常提交推送git代 ...

  9. IDEA激活码(可用2100年,亲测有效)

    三步骤: 1.下载rar包 2.将rar中bin包内容替换IDEA安装目录下bin内容,然后编辑idea.exe.vmoptions和idea64.exe.vmoptions文件,编辑内容一样 将最后 ...

  10. 汇编语言-[bx]和loop指令和多个段

    5.1 [BX]和内存单元的描述 要完成描述一个内存单元,需要两种信息: 内存单元的地址: 可以用 [0] 表示一个内存单元, 0 表示单元的偏移地址,段地址默认在 ds 中: 同样也可以用 [bx] ...