美文网首页我爱编程
[docker] 利用docker运行apache服务器

[docker] 利用docker运行apache服务器

作者: Hellooooooworld | 来源:发表于2017-08-30 10:25 被阅读791次

    站在巨人的肩膀上

    实习快两个月了,在学习centos的时候,接触到了docker,一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    学习的第一个容器就是关于apache服务器的,所以再此分享一下。

    part.1 安装 docker,并配置daocloud

    [root@localhost ~]#yum install docker
    [root@localhost ~]#systemctl start docker
    

    docker的镜像被墙,所以pull起来特别慢,所以我们采用daocloud的镜像。点开链接daocloud注册登录,然后点击加速器按钮,复制下列代码,星号处每个人不一样。

    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://***********.m.daocloud.io
    

    然后把上面部分的在centos处输入,然后重启docker服务,如果重启失败,可以查看/etc/docker/daemon.json,可能是json文件的格式有错,删除【】内的“,”即可,然后再次重启。

    part.2 设置docker

    Docker 需要一个基本的镜像才能运行,我们的所有容器都是(直接或间接)基于这样一个镜像来运行的,下面的命令把一个基本镜像 pull 到本地:

    [root@localhost ~]#docker pull centos # Download base image
    

    part.3 为我们的容器创建第一个镜像

    [root@localhost ~]# docker run -t -i centos /bin/bash 
    

    进入容器后,我们需要安装一些yum包

    yum -y update 
    yum -y which git
    

    安装完成之后,按CTRL+D推出当前容器的命令行,输入下列代码查看容器ID。

    [root@localhost ~]# docker ps -a 
    

    查看后输入下列命令行

    [root@localhost ~]# docker commit 容器ID custom/base
    

    容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器。我们就以这个容器为基础容器,再来创建一个新的容器。

    part.4 创建新的容器,并安装 apache

    我们要以 custom/base 容器为基础,运行一个新的容器。

    [root@localhost ~]# docker run -t -i custom/base /bin/bash
    

    然后yum安装httpd即可!

    part.5再次提交容器

    按 Ctrl + d 来退出容器的命令行,查看容器ID,然后用先前的方法,创建新的容器。

    [root@localhost ~]# docker commit 容器ID custom/httpd
    

    part.6 运行http服务器

    -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.
    -v 参数把主机共享给虚拟机的一个卷挂载到容器中
    -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile
    -p 参数把虚拟机的80端口映射到容器的80端口;虚拟机的80端口在 Vagrantfile 中被绑定到主机的8080端口,也就是:主机8080->虚拟机80->容器80

    [root@localhost ~]#docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash
    

    然后启动apache

    apachectl -k start 
    

    part.7 在浏览器中测试

    在浏览器中浏览 http://localhost:8080 即可。

    part.8 总结

    docker的轻量级,可复用性镜像就是他最大的特点,docker的灵活使用在我们学习过程中,有很多帮助。

    相关文章

      网友评论

        本文标题:[docker] 利用docker运行apache服务器

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