美文网首页
Mac上用Docker搭建自己的lamp环境

Mac上用Docker搭建自己的lamp环境

作者: 子卿是个梦想家 | 来源:发表于2018-08-22 22:17 被阅读0次

    docker基本命令

    docker run -d -p 80:80--name webserver nginx 运行容器并起别名

    docker ps 展示目前启动的容器

    docker ps -a 展示所有容器

    dockerstart启动容器

    dockerstop停止容器

    docker rm -fwebservr 停止并删除容器,但不会删除镜像

    docker images 显示本地拥有的镜像

    docker rmi nginx 删除本地images

    创建自己的docker镜像

    编辑Dockerfile文件,填入以下内容:

    FROMdocker/whalesay:latest

    RUN apt-get-y update && apt-getinstall -y fortunes

    CMD /usr/games/fortune -a | cowsay

    运行以下命令创建名为docker-whale的镜像:

    dockerbuild -t docker-whale .

    -t: 给tag命令

    .: Dockerfile文件所在路径

    docker tag push pull

    docker tag8e15421920b1 xulingfeng/docker-whale:latest

    上传操作

    dockerpushxulingfeng/docker-whale

    下载操作

    dockerpull centos

    交互式的操作

    docker run -t -i ubuntu/bin/bash

    -t 分配了一个终端在新的容器中

    -i 允许你和容器进行交互操作

    /bin/bash 启动容器中的Bash shell

    docker的守护状态,也就是后台运行

    docker run -d ubuntu /bin/sh -c"while true; do echo hello world; sleep 1; done"

    docker run 运行容器

    -d 让容器在后台运行

    ubuntu 你希望运行容器的镜像

    查看docker容器运行日志

    docker logs-f容器名

    -f 类似与 tail -f

    使用docker运行web应用

    docker run-d-P training/webapp python app.py

    -d:代表后台运行该容器

    -P:映射容器中的web应用端口号到你的主机上32768-61000中的某一个端口。这样你可以访问该容器中的web应用

    training/webapp: 一个已经构建好的镜像,包含一个简单的python flask框架web应用

    python app.py:这个命令用来启动容器中的web

    成功运行以上命令后,运行:

    docker ps

    查看到容器的5000端口号映射到了本地的32768,浏览器访问http://127.0.0.1:32768 看到helloworld 成功提示

    自定义主机端口号

    docker run-d-p 80:5000 training/webapp python app.py

    -p 80:5000 将本机的80端口绑定容器内的5000端口,本地直接访问http://127.0.0.1即可

    查看容器的进程

    dockertop 容器名

    检查容器的状态信息

    dockerinspect 容器名

    镜像搜索

    dockersearch 内容

    创建一个给pycharm开发用的镜像,包含python3,Django, Flask, requests, PyMySQL, ldap3, jira,celery, simplejson

    centos镜像,分解步骤如下

    首先添加额外源

    yuminstall-y epel-release

    安装编译环境

    yuminstall-y gcc automake autoconf libtool make gcc-c++

    安装wget命令

    yuminstall-y wget

    安装openssl-devel python的pip命令依赖

    yuminstall-y openssl-devel

    下载python3.5.2最新包

    wgethttps://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz -P /software/

    解压python3.5.2压缩包并编译安装

    tar -zxvf /software/Python-3.5.2.tgz -C /software/

    ./configure &&make-j2&&makeinstall -j2

    更新pip

    pipinstall--upgrade pip

    pipinstall--upgrade setuptools

    安装所需的第三方包

    pipinstallDjango Flask requests PyMySQL ldap3 jira celery simplejson

    通过Dockerfile构建镜像

    Dockerfile:

    FROM centos:latest

    RUN yuminstall-y epel-release

    RUN yuminstall-y gcc automake autoconf libtool make gcc-c++

    RUN yuminstall-y wget

    RUN yuminstall-y openssl-devel

    RUN wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz -P/software/

    RUN tar -zxvf /software/Python-3.5.2.tgz -C/software/

    RUN cd /software/Python-3.5.2/ && ./configure python3 && make -j2&& makeinstall-j2

    RUN pipinstall--upgrade pip

    RUN pipinstall--upgrade setuptools

    RUN pipinstallDjango Flask requests PyMySQL ldap3 jira celery simplejson

    在Dockerfile目录中执行:

    dockerbuild -t 名字:版本 .

    兼容docker for mac 和 pycharm

    brewinstallsocat

    socat TCP-LISTEN:2376,reuseaddr,fork,bind=127.0.0.1UNIX-CLIENT:/var/run/docker.sock

    1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢)

                                        DaoCloud下载:下载地址(速度较快,可能版本较低)

    2.装完之后打开:

    3.检查一下是否下载成功:

    [plain]view plain copy

    $ docker --version  

    Docker version 1.13.0-rc3, build 4d92237  

    $ docker-compose --version  

    docker-compose version 1.9.0, build 2585387  

    $ docker-machine --version  

    docker-machine version 0.9.0-rc2, build 7b19591  

    如果在终端里面输入docker提示的是command not found请将docker加入到环境变量:

    [plain]view plain copy

    vim /etc/profile  

    最后插入 export PATH=${PATH}:/usr/local/bin ## docker命令安装到了这个目录  

    可以运行一个hello-world镜像来测试一下:

    如果本地不存在这个镜像,则会从远程镜像库中拉取

    运行成功会出现:

    搭环境之前先介绍一些docker基础命令:

    docker images  查看已下载的镜像 

    docker ps  查看正在运行的容器

    docker ps -a 查看所有容器

    docker stop 容器id 停止正在运行的容器

    docker rm 容器id 删除容器

    docker rmi 镜像id 删除images

    docker容器和镜像的理解可以参考:docker镜像与容器

    4.搭建lamp本地开发环境

    安装Ubuntu:

        可以先查找hub.docker.com里可供下载的Ubuntu版本:

    [plain]view plain copy

    docker search Ubuntu  

    或者直接下载:

    [plain]view plain copy

    docker pull ubuntu # 这样安装的Ubuntu版本是16.04的  

    docker pull www.mcyllpt.com ubuntu:14.04 # ubuntu 14.04 版本  

    进入Ubuntu安装一些必要的软件:

    [plain]view plain copy

    docker run  -t -i /bin/bash # -i 同步输入 -t 同步输出 -d 持续运行  

    然后就进入到了熟悉的Ubuntu  

    安装 vim www.qianjin178.com apache2 mysql php5 redis  

    apt-get update   

    apt-get www.boshenyl.cn install vim  

    apt-get install apache2  

    apt-get install mysql-server  

    apt-get install php5 libapache2-mod-php5 php5-gd php5-mysql  

    apt-get install redis-server php5-redis  

    安装完成之后 exit 退出当前容器

    使用docker ps -a查看当前配置完的容器,进行保存到images

    [plain]view plain copy

    docker commit --author “zhizhi(作者名字)” --message --"lampInit(容器说明)" id lamp:v1    

    这边的id指的是容器id,可以在docker ps -a查看到

    再输入docker images,可以看到images里面多了个lamp的镜像

    运行镜像并映射本地文件夹到容器文件夹

    [plain]view plain copy

    docker run -itd -p 8989:80 -v www.wanmeiyuele.cn /Users/wwwroot:/var/www/html id /bin/bash  

    -p 将本地的8989端口映射到容器的80端口

    -v 将本地的 文件夹映射到服务器Apache默认的网站目录下

    id 镜像id

    这边冒号左边的路径指的是本地的文件夹目录,必须用绝对路径,冒号右边的路径是容器的网站根目录

    进入容器开启apache2服务:

    [html]view plain copy

    docker exec -it 容器id /bin/bash  

    service apache2 start  

    如果这边出现

    在容器中键入命令修改apache配置文件:

    vim /etc/apache2/apache2.conf 

    在配置文件尾部插入:

    ServerName 172.17.0.2

    保存重新开启apache服务

    在本地的映射目录新建一个php文件进行测试:

    打开浏览器访问:localhost:8989/test.php  进行测试

    相关文章

      网友评论

          本文标题:Mac上用Docker搭建自己的lamp环境

          本文链接:https://www.haomeiwen.com/subject/gujuiftx.html