注: 以下使用的镜像为docker 官方下载的 centos最新版。

1. 常用命令

   docker search centos               #docker hub中搜索符合条件的镜像

   docker pull centos                     #从docker hub上拉取centos最新镜像, 也可用 docker load -i XXX.tar

   docker images                           #列出本地所有docker镜像

   docker ps                                    #列出正在运行的容器

   docker ps -a                               #列出所有容器,包含未在运行的

   docker stop containerID          #停止运行容器, 相应的: start、restart、kill、rm、rm -f

   docker run -ti centos /bin/bash    #运行centos镜像

   -d   后台运行

   -p  端口设置

2. 制作docker镜像

    本例中在原生centos镜像中安装httpd服务,容器中的80端口映射到宿主机的9000端口。

    方法一: 使用docker commit

    docker commit containerID 新镜像名称

    方法二: 使用Dockerfile

    Dockerfile类似于C中的Makefile文件,Dockerfile内部书写用户的操作。

    mkdir docker-build

    cd docker-bild

    touch Dockerfile

    Dockerfile中写入以下内容:

      FROM centos

      MAINTAINER xiaoming xiaoming@163.com

      RUN yum install httpd -y

      ADD start.sh /usr/local/bin/start.sh

      ADD test.html /var/www/html/test.html

   解释: FROM : 镜像名称

             MAINTAINER : 作者 <作者邮箱>

             RUN : 要在容器上执行的命令

            ADD : 将docker-build中指定文件加到容器中指定位置

      echo "/usr/sbin/httpd -DFOREGROUND" > start.sh    #用于容器中启动httpd服务

    echo "hello docker" > test.html   #测试网页

      docker build -t centos:httpd  .     #创建新的镜像。

      docker run -ti centos:httpd /bin/bash    #运行刚刚新建的镜像

      docker ps        #宿主机中查看docker端口是否映射成功   

      curl http:127.0.0.1:9000/test.html         #宿主机中验容器中httpd是否可以正常访问

3. 本地发布新制作的centos:httpd镜像

    docker save -o centos-httpd.tar centos:httpd

    也可以发布到docker hub上。     

    

             

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐