前段时间Docker爆了一个远程命令执行的漏洞,刚好自己对docker也比较感兴趣,前几天研究了一下Docker,恩,安装是没问题,概念也懂得差不多,但是尼玛完全不会用啊,于是约了我周师傅来教教我,目标是安装一个nginx、一个mysql、最终装一个typecho、开始~

安装Docker

我这里环境是ubuntu15.04,周师傅说可以apt-get安装,也可以用官方提供的方法,师傅也推荐用官方的,于是执行:

curl -fsSL https://get.docker.com/ | sh

好的,因为我1年前傻逼的装了一个32位的ubuntu,周师傅不愿意给我教了,

所以我重装系统了,本次文章到此结束,我们下期再见 23333

但是为了节省时间,我们最终决定还是先用虚拟机讲完Docker,再重装 2333

好的现在已经装好了虚拟机和Docker,我们继续~

964e8865gw1f49992c39fj20af0203yi.jpg

安装mysql

师傅直接给了命令,

docker run —name mysql -d -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /place/to/store/mysql:/var/lib/mysql mysql:5.6

其中--name代表容器的名字,
-d 代表后台运行,如果不后台运行的话,直接运行起来就又关了。
-e 代表设置环境变量,为啥设置MYSQL_ROOT_PASSWORD请看官方文档
-v 代表,也就是主机和容器共享的目录,大概格式是主机上的目录:容器里的目录:其他选项
mysql:5.6 代表软件和版本

和周叔叔聊了很久,命令也跑起来了,但是现在已经12点半了,我们都打算睡觉了~

OK,已经成功的安装了一个mysql的容器:

然后可以运行如下命令进入mysql容器的shell环境:

docker exec -it mysql /bin/bash

如下图:

其中-iti指的是交互式t指的是伪终端

如果要进入docker container的话,就一定要带上-it

后面mysql -uroot -p什么的就不再说了。

好了,现在已经12:38了,目前mysql已经装好了,师傅也要睡觉了,今天就到这里吧。

明天见~

安装php

docker run --name phpfpm -d -v /data/web/typecho/wwwroot:/app --link mysql:mysql jimmyzhou/typecho-nginx-php

其中--name不再解释,就是容器名称,-d后台运行,-v是卷,--link是指容器间建立链接,:前面是容器名称,后面是容器里面调用的名称,最终的jimmyzhou/typecho-nginx-php是我周师傅上传到hub上的镜像.

安装nginx

首先把nginx的配置下载下来:

wget https://raw.githubusercontent.com/Manasseh-Zhou/Typecho-On-Docker/master/nginx.conf -O /data/web/typecho/conf/nginx.conf

然后安装nginx,

docker run --name typecho_nginx -d -p 81:80 --link phpfpm:phpfpm -v /data/web/typecho/conf/nginx.conf:/etc/nginx/nginx.conf:ro --volumes-from phpfpm nginx1.9

其中-v后面的ro意思是read only,配置嘛~在容器里可读就OK.

完成

随后在web目录下面写入1.php,phpinfo成功执行.

2016-06-01 23:42:19屏幕截图.png

公司同事推荐学习docker-machine/docker-compose/docker-swam