Ninvfeng Blog

记录web开发中的所见所得

使用docker部署LNMP运行环境

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

容器VS虚拟机 容器是共享内核的,它们属于多个进程同时运行在一个内核上,只不过是利用namespace把它们隔离开,用cgroup限制可用资源。而虚拟机是共享“硬件”的,每个虚拟机都有自己独立的操作系统。所以,虚拟机是可引导的、绝对安全的隔离技术;而容器是非常脆弱的,不安全的隔离技术

1. 安装docker

#安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

#添加安装源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#yum安装
yum install docker-ce

#启动docker
systemctl start docker

#设置开机启动
systemctl enable docker

2. 使用国内镜像源

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["http://6723d642.m.daocloud.io"]
}

3. 安装mysql

#拉取镜像
docker pull mysql:5.7

#启动mysql
docker run -dit -p 3306:3306 --name mysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

#参数解析 -dit:后台运行  -p:端口映射,物理机端口:docker端口 --name:指定名称 -v:目录挂载,物理机目录:docker目录 -e:参数设置,MYSQL_ROOT_PASSWORD:mysql root密码

4. 安装php

#拉取镜像
docker pull phpdockerio/php72-fpm

#启动php-fpm
docker run -dit -p 9000:9000 --name php -v /www:/www -d --link mysql bitnami/php-fpm:latest
#参数解析  --link:添加hosts记录将域名php映射到php docker镜像

5. 安装nginx

#拉取镜像
docker pull nginx

#启动nginx
docker run -dit -p 80:80 --name nginx -v /www:/www -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf --link php nginx

参考资料: 手把手教你写 Docker

文章评论已关闭!