mac OS中使用docker安装ubuntu+lnmp

Posted IT猿圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac OS中使用docker安装ubuntu+lnmp相关的知识,希望对你有一定的参考价值。

一直想自己操作一遍mysql的主从数据同步,但是无奈一直困于难以复制两台一模一样的虚拟机。下载VirtualBox安装虚拟机,但是镜像下载太慢了啊,此时不选docker,更待何时。废话少说,直奔主题。


一、安装ubuntu

1、查找ubuntu镜像

docker search ubuntu(下载下边star最多的)

mac OS中使用docker安装ubuntu+lnmp


2、拉取(下载)ubuntu镜像

docker pull ubuntu

mac OS中使用docker安装ubuntu+lnmp


3、查看一下已安装的镜像

docker images(从下边列表中可以看见我们刚安装的ubuntu)

mac OS中使用docker安装ubuntu+lnmp


4、运行ubuntu镜像

docker run -it -d --name myubuntu -p 8088:80 ubuntu-d后台运行–name自定义容器名-p指定端口映射,前者为虚拟机端口,后者为容器端口

成功后返回id

mac OS中使用docker安装ubuntu+lnmp


5、查看我们已经在运行的容器

mac OS中使用docker安装ubuntu+lnmp


6、查看容器信息

docker inspect idid为容器的id

mac OS中使用docker安装ubuntu+lnmp


7、进入容器

docker exec -it id /bin/bash(id为容器id,也可以替换成容器名)

mac OS中使用docker安装ubuntu+lnmp

看到root@容器id:/#就说明已经成功进入到容器了(退出容器执行exit即可)


此时就可以使用这个ubuntu系统了,它是一个干净额ubuntu系统,各种东西都需要我们安装。连wget命令就没有。下边进行nginx的安装,安装的过程中,需要安装哪些命令我们再进行安装。


二、安装LNMP

1、首先执行一下apt-get update,然后安装wget(apt-get install wget),这样我们才能安装其他的一些东西


2、然后我们选择使用lnmp的一键安装包来安装LNMP环境(https://lnmp.org/faq/lnmp-software-list.html

wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp

mac OS中使用docker安装ubuntu+lnmp


(1)提示安装mysql的版本

mac OS中使用docker安装ubuntu+lnmp

下边会提示是否使用InnoDB引擎(建议使用)


(2)安装php

mac OS中使用docker安装ubuntu+lnmp

后边就是它安装的过程,十分的漫长(几十分钟到一个小时不等)

mac OS中使用docker安装ubuntu+lnmp

看到这个就安装完成了(安装的mysql、php、nginx在/usr/local目录下 。mysql配置文件在/etc/my.cnf)


上边运行镜像时,映射的虚拟端口为8088。(也可以使用docker ps看一下我们运行的ubuntu容器映射的端口)然后在浏览器中输入localhost:8088,看到下边页面就说明成功了。(想配置虚拟主机,可去官网查看:https://lnmp.org/faq/lnmp-vhost-add-howto.html)

mac OS中使用docker安装ubuntu+lnmp


三、将安装好的ubuntu+lnmp系统打包成镜像

玩儿过虚拟机的应该都知道,虚拟机是可以克隆的,克隆出来一模一样的一台(操作过的应该都知道,恶心的一批),现在使用docker实现一下。(先退出之前的的容器 exit)


(1)将容器打包成镜像

docker commit -m "提交信息" --author "作者" 镜像id 新镜像名  //关于基础命令,可查看上一篇文章
docker commit -m "打包一个干净的ubuntu+lnmp环境,原容器名myubuntu" -a "shulv" 93f570047ae5 myubuntu2说明:-m 提交时的说明文字-a 提交的镜像作者倒数第二个参数是上边已经运行的容器的id最后一个参数为新的镜像的名称(也可以加上标签,比如myubuntu2:lnmp)

执行完上边的打包命令之后会得到下图:

mac OS中使用docker安装ubuntu+lnmp

说明镜像打包成功,此时再执行:

docker images

mac OS中使用docker安装ubuntu+lnmp


(2)启动新的镜像

现在我们启动刚刚打包的镜像:

docker run -it -d --name myubuntu2 -p 8089:80 myubuntu2

mac OS中使用docker安装ubuntu+lnmp

然后我们看看是否启动成功了

mac OS中使用docker安装ubuntu+lnmp

没毛病,容器启动成功。


(3)进入容器

docker exec -it 容器ID /bin/bash

mac OS中使用docker安装ubuntu+lnmp


(4)启动nginx,检查lnmp环境

mac OS中使用docker安装ubuntu+lnmp

然后我们验证一下是否成功了,在浏览器中输入localhost:8089(启动容器时映射的端口为8089)

mac OS中使用docker安装ubuntu+lnmp

OK,现在说明我们打包的镜像没问题。


前边我们说到虚拟机克隆,克隆出来的镜像很麻烦,如果我们换一台电脑,还需要将镜像传输到这台电脑中,然后安装。而docker就方便多了,他有一个远程的线上仓库(Repository),只要我们将打包好的镜像推到远程仓库中,那么我们在任何一台有网且安装了docker的电脑上都可以获取到该镜像,十分方便。废话少说,下边就开始将我们的镜像推到远程仓库。


四、将镜像推到远程仓库

(1)登录dockerhub

这个是我们默认的镜像存放的地方,就像上边我们获取ubuntu镜像一样,其实也是从dockerhub上获取的。要想上传镜像到dockerhub,首先我们要登录它,如果还没有注册,可以去https://hub.docker.com  注册一下。注册完成之后就可以登录了

docker login

mac OS中使用docker安装ubuntu+lnmp


(2)将本地镜像推到远程仓库

docker push myubuntu2(镜像名)

mac OS中使用docker安装ubuntu+lnmp

被拒绝了,百度了一下,是因为我们需要更改镜像名前缀为我们的用户名

docker tag myubuntu2 shulv/myubuntu2:lnmp(将myubuntu2镜像标记为shulv/myubuntu2:lnmp镜像 其中shulv为用户名,其后的myubuntu2为仓库名、lnmp为标签)

更改完之后我们再推一次

docker push shulv/myubuntu2:lnmp

此时等待它推送完成就可以了


(3)拉取推送到远程的镜像

docker pull shulv/myubuntu2:lnmp


OK,整个过程就全部完成了。


总结:在整个过程中,需要我们对docker有一定的了解,熟悉常用的命令,并了解每一步操作的含义。关于基础命令自己也有总结,感兴趣的可以看一下。






IT猿圈

不做开始爱好者

长按二维码关注





以上是关于mac OS中使用docker安装ubuntu+lnmp的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS环境搭建STF

在Mac OS上安装Vagrant和Docker的教程

Ubuntu 14.04 下的MAC OS X 主题安装

怎样将Ubuntu的显卡驱动移植到Mac OS X

Mac OS X 极速安装与配置Docker

Center OS7 下安装Docker版Nodebb