惆怅,原本是打算在服务器上装一个node而已,考虑已经存在的lnmp环境可能会与之起冲突,于是就果断尝试新技术,docker安装lnmp,以及node,这是我根据这个博主的文章搭建的。
一、安装docker以及docker-compose
这里我借鉴的是阿里云的知识;
1、centos使用yum安装
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ee.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
2、安装校验
root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: false
3、给镜像安装加速器
安装/升级你的Docker客户端
推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce
如何配置镜像加速器
针对Docker客户端版本大于1.10.0的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://lvubiyey.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4、安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
5、安装之后看看是否安装上了,以及安装git
docker -v
docker-compose -v
yum install -y git
重点来了,下载完整的代码
git clone https://github.com/yeszao/dnmp.git
cd dnmp
docker-compose up
这会会有问题,大概会报一个这样的错误;
Warning: fsockopen(): Failed to enable crypto in PEAR/Proxy.php on line 179
Warning: fsockopen(): unable to connect to ssl://pecl.php.net:443 (Unknown error) in PEAR/Proxy.php on line 179
No releases available for package "pecl.php.net/redis"
Cannot initialize 'channel://pecl.php.net/redis-3.1.4', invalid or missing package file
Package "channel://pecl.php.net/redis-3.1.4" is not valid
install failed`
解决方案,这样删除php/php--/Dockerfile内的110行,下句:
RUN pear config-set http_proxy http://10.0.75.1:1080
然后就解决了!
----------------------------------------------------------------------
通过以下命令让你的程序后台运行
docker-compose -f docker-compose56.yml up -d
进入mysql并授权远程登录
docker exec -it dnmp_mysql_1 /bin/bash
set password for 'fred'@'localhost'=password('passwd');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'passwd';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passwd';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'39.106.20.103' IDENTIFIED BY 'passwd';
退出docker的container用以下命令
exit
Docker相关的有用文章:
github仓库地址:https://github.com/yeszao/dnmp