专栏首页算法修养Docker 学习应用篇之三: Docker的简单实用

Docker 学习应用篇之三: Docker的简单实用

安装完Docker之后,我们就可以简单的使用Docker,来体会Docker的用处。

首先看下Docker的常用命令,都是我在实用Docker的时候用到的命令:

           docker常用命令:

           $ docker images //查看所有的镜像            $ docker ps -a //查看所有的容器            $ docker build -t docker_name .//用Dockerfile创建一个名字叫docker_name的镜像            $ docker serach php //查看Docker hub上的关于php的镜像            $ docker pull docker_name//拉取Docker hub的名字为docker_name的镜像            $ docker run -t -i ubuntu:14.04  /bin/bash//用ubuntu:14.04创建一个容器并启动一个bash终端允许用户进行交互            $ docker run -p 9000:9000 --name xx ....//将容器的9000端口映射到主机的9000端口,命名容器为xx            $ docker run -d//在后台运行            $ docker start web1//启动名称为web1的容器            $ docker stop web1//终止名称为web1的容器            $ docker rm containerID 删除ID为contiainerID的容器            $ dcoker rename web1 web2 将web1的名字重新命名为web2

           $ docker build -t image_name -f /usr/documents  

           //用/usr/documents的路径下的docker_file来创建一个名字叫image_name的镜像

使用实例一:

           使用DockerFile构建镜像,创建一个Apache服务器的应用程序

           新建一个文件夹DockerTest,在里面建立一个DockerFile文件,

           这里注意DockerFile必须是严格的DockerFile,不能写成Dockerfile或者Docker_File。在DockerFile里面写上:

            # Version 0.1

            # 基础镜像

            FROM ubuntu:latest

            # 维护者信息  

            MAINTAINER shiyanlou@shiyanlou.com

            # 镜像操作命令

            RUN apt-get -yqq update && apt-get install -yqq apache2 && apt-get clean

           # 容器启动命令

           CMD ["/usr/sbin/apache2ctl", "-D", “FOREGROUND"] 

 用上面的命令,创建一个镜像:

        等待下载完成,利用镜像文件建立一个容器:

        这样在名字为web1的容器,就建好了,default虚拟机的80端口,映射到了容器的80端口。这个时候可以访问虚拟机的80端口,虚拟机的ip地址 可以docker-machine ip default命令查看

使用实例二:

        使用Docker Hub上的官方镜像,安装一个PHP加apache的运行环境。

可以使用docker search php-apache命令,也可以直接登录Docker Hub的官网去找。

我用的是这个镜像。用docker pull eboraas/apache-php 拉取镜像,等待下载完成后,用docker images查看镜像,可以看到自己的下载的镜像。

   然后用镜像,建立一个容器就可以了。这里,建立一个容器之后,怎么开发呢。通常,我们有两种方式,一个设置容器用交互式的界面,这样可以到容器里面去开发。还有一个是用文件夹挂载,把本机的文件夹挂载到apache-php容器的/var/www/html中,这样就可以本机中开发了。

  具体命令:

docker run -p 8080:80 -p 8443:443 -v /home/jdoe/mysite/:/var/www/html -d eboraas/apache-php

-v /home/jode/mysite/   :  /var/www/html 就是把本地的home/jode/mysite挂载到/var/www/html中。

  在mysite中新建一个,mysite.php

  <?php echo "hello,world"  ?>

 然后浏览器中访问192.168.99.100:8080/mysite 这个ip地址是我的default的虚拟机的ip地址

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker 学习应用篇之二: Docker的介绍和安装

       之前说过Docker的好处,Docker可以集装箱化的部署应用程序。那么Docker是通过什么实现的呢。要理解Docker内部构建,需要先理解Docker...

    ShenduCC
  • Docker 学习应用篇三:使用docker搭建的环境,安装thinksns

    Thinksns 是一个开源的社交网站,因为目前的项目需要用到这个,所以就下载一个安装试试看。 之前在windows上用了wamp,安装的很顺利。但是项目是要部...

    ShenduCC
  • Docker 学习应用篇之一: 初识Docker

        Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等。第一次...

    ShenduCC
  • docker入门:安装以及基本的命令

    禹都一只猫olei
  • Mac 安装 Docker 及常用命令

    背景 微服务 + 容器,完美的一对!必须得好好学习学习。 安装步骤 Mac 下 Docker 的安装真心建议跟着官方的文档走一遍,官网已经讲的很详细了。 htt...

    zhisheng
  • 终于有人把 Docker 讲清楚了,万字详解!

    LXC 为 Linux Container 的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于 C+...

    江南一点雨
  • 小白学Docker之基础篇

    系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记...

    糊糊糊糊糊了
  • Docker1-架构原理及简单使用(终于把Docker讲明白了)

    LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的N...

    Java帮帮
  • Centos搭建Docker环境

    安装Docker 安装Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 ...

    牛嗷嗷
  • 终于有人把 Docker 讲清楚了,万字详解!

    来源 | cnblogs.com/zhangxingeng/p/11236968.html

    zhisheng

扫码关注云+社区

领取腾讯云代金券