偶然间在朋友圈看到猿友在研究Docker,于是不甘落后的我开始了疯狂百度,准备在逼格上超过他,以下便是我的探索之路
一、百度的力量
百度提供的Docker解释
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
二、安装Docker
本文介绍安装的docker是基于VMware虚拟机下64位的centOS-7.4,当然保证系统能联网,yum正常使用。具体流程详见菜鸟教程Docker安装nginx
1 | # uname -r |
出现 Complete! 恭喜你安装成功
三、下载centos7镜像
docker pull命令是从远程下载镜像的命令,此处下载镜像目的是让我新创建的容器要运行在centOS下,这里docker pull的地址是从https://hub.docker.com 搜索获取的
1 | # service docker start |
四、运行容器
容器里运行1
docker run -i -t openshift/base-centos7 /bin/bash
接着就是在容器里安装lnmp,详情请参考
lnmp环境搭建
安装完成后1
exit
五、生成镜像
查看刚才运行的容器ID1
docker ps -lq
提交生成新的镜像 注:这里的489d2 是任意去的上一步操作中id的前5位1
docker commit 489d2 vckai/dev:v1
查看所有镜像1
docker images
六、启动镜像
1 | docker run -d -p 80:80 -v /web:/data/www vckai/dev:v1 /sbin/init |
-d是以Daemon模式运行。
-p 80:80 是将本地80端口映射到容器的80端口,现在可以在本地使用http://localhost访问
-v /web:/data/www 是将本地的/web目录挂载到容器的/data/www(容器配置的web目录)目录下。
vckai/dev:v1 是要运行的镜像名称。
/sbin/init 是容器运行后的系统初始化操作,主要用于启动nginx,php-fpm,mysql服务。
查看docker运行中的镜像
1
docker ps
停止/重启/kill/启动容器
1
docker stop/restart/kill/start <ID/Name>