Windows+Docker(boo2docker)搭建lnmp开发环境

步骤1:
docker官网下载Docker Toolbox,并完全安装。

步骤2:
安装完成后,运行在桌面新生成的快捷方式:Docker Quickstart Terminal
生成一个名称为default的vitrualbox虚拟机

步骤3:
1、在Quickstart Terminal命令行界面输入exit退出
2、进入VitrualBox界面,将default关机。
3、修改内存到2G,因为默认只设置了1G,装LNMP环境不够用
4、修改共享文件夹,就是项目代码的所在目录,vitrualbox默认共享文件夹路径c:\Users,共享文件夹名称Users,把共享文件夹路径换一下,比如换成D:\data\wwwroot,共享文件夹名称wwwroot。
5、修改完成后,再次运行桌面的:Docker Quickstart Terminal
 
步骤4:
此时就可以开始做docker镜像配置了
(1)下载镜像
docker@default:~$ docker pull centos:7
(2)运行容器
docker@default:~$ docker run -i -t centos:7 /bin/bash
[root@3d2f05609d4b ~]#
进入容器后,就可以安装php,mysql,nginx了 可使用一键安装包,到(lnmponeinstack)网站上下载安装。
安装lnmp完成后,执行exit退出
[root@3d2f05609d4b ~]# exit
docker@default:~$
(3)打包新镜像
查看刚刚运行过的docker容器
docker@default:~$ docker ps -a
CONTAINER ID   IMAGE      COMMAND      CREATED       STATUS       PORTS       NAMES
13c432f187bb  centos:7  "/bin/bash"  2 hours ago   Exited (0)  2 hours ago  go_lumiere

可以看到ID为:13c432f187bb,下面我们提交这个容器生成新镜像。
docker@default:~$ docker commit 13c432f187bb lnmp:lnmp
lnmp:lnmp是自己需要生成的新镜像名,如果输入已有的镜像名,则会覆盖原有的镜像。 
执行docker images,可以看到已经生成好一个新的镜像了。
(4)查看镜像
docker@default:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
lnmp                lnmp                5e610f9efc78        1 hours ago         5.16GB
centos              7                   196e0ce0c9fb        2 weeks ago         197MB
(5)启动新镜像
docker@default:~$ docker run -it --privileged -d -p 80:80 -p 3306:3306 -v /docker:/data/wwwroot/docker lnmp:lnmp /sbin/init
-i  以交互模式运行容器,通常与 -t 同时使用
-t  为容器重新分配一个伪输入终端,通常与 -i 同时使用
--privileged  在运行容器的时候,给容器加特权(使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
-d 是后台运行
-p 是映射端口(开放80,3306端口,需要用工具远程连接mysql,必须加上3306端口。
-v 是映射目录(本地项目目录:虚拟机项目目录)
lnmp:lnmp 就是刚才新打包的镜像名
/sbin/init 是容器运行后立即运行的脚本或程序
(6)查看运行中的docker容器
docker@default:~$ docker ps -a
CONTAINER ID IMAGE     COMMAND      CREATED     STATUS     PORTS              NAMES
3d2f05609d4b lnmp:lnmp "/sbin/init" 1 hours ago Up 1 hours 0.0.0.0:80->80/tcp gracious_bose
13c432f187bb centos:7  "/bin/bash"  2 hours ago Exited (0)                    goofy_lumiere
(7)操纵docker容器
运行、停止、重启
docker stop/restart/kill/start <ID/Name>

删除容器
docker rm $(docker ps -a -q)
(8)删除镜像
docker rmi <IMG_NAME>
(9)在boot2docker中进入root模式
进入虚拟机
docker-machine ssh default

进入root模式
sudo -i

即可进入root模式

另一种办法:
从SSH工具连接虚拟机IP直接进入虚拟机
默认用户和密码:
docker
tcuser
此时只是进入了虚拟机,要进入root模式就执行命令:sudo -i
(10)使用docker exec进入Docker容器
docker@default:~$ sudo docker ps 
docker@default:~$ sudo docker exec -it 3d2f05609d4b /bin/bash

			

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: