DOCKER 学习以及实践(2)

原创
2016/12/05 15:21
阅读数 29

Docker 基本命令说明

1.Docker使用环境linux,windows,mac

        linux 要求:

                centos6.x(kernel 版本必须2.6.32-431或更高)

                   需要安装EPEL

                   rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

                   rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

                   yum -y install docker-io

                centos7.x

                        yum -y install docker

        windows要求:

                        Oracle VM VirtualBox,boot2docker

        mac要求:

                        Oracle VM VirtualBox,boot2docker

2.Docker基本概念

        镜像:

Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 CentOS 操作系统环境,里面仅安装了 httpd或用户需要的其它应用程序,也可以简单linux系统,只包含必要的软件。

镜像可以用来创建 Docker 容器。

Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜

        容器:

Docker 利用容器来运行应用。

容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

*注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

        远程仓库:

仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

      仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

     hub.docker.com

     www.daocloud.io

     hub.tenxcloud.com

 

3.Docker基本使用命令

      2.1 docker服务的启动,关闭

           service docker stop

           service docker start

           如iptables跟docker发生冲突,重启docker,让docker重新加检测iptables规则,就行了。

     2.2 docer 基本命令

           docker run  -p 28080:8080 -t -i centos-tomcat:1.0

          docker run  -p 28080:8080 centos-tomcat:1.0 

          docker run -t -i centos:6.8 /bin/bash

          docker run -d -p 122:22  centos-tomcat:1.0

     2.2 docer 基本命令

           docker查询相关命令

           docker images (列出所有镜像)

           docker ps (运行的容器) 

           docker ps -a (所有容器)

          docker exec -it (所有容器) bash

     2.3 网络与磁盘挂载

           采用普遍采用桥接模式,docker和宿主机之间形成一个独立虚拟网络,对外端口宿主机和docker使    用一个宿主ip,通过不同的port采用iptables方式路由到docker上

           一般实用参数

           -p 28080:8080 添加对外端口

           --add-host mysql.1haigui.com:192.168.2.20  把该域名解析添加到host中去。

          --dns 114.114.114.114

      一般情况宿主机与docker容器是隔离没法进行交互的,可以通过磁盘挂载的方式,实现宿主机上磁盘系统挂载到docker上去
        docker run -d -v /app/docker_registry:/var/lib/registry -p 5000:5000 --restart=always registry

        宿主机目录会自动建立,如果容器关闭或销毁,磁盘文件依然存在

     2.3 docker导出导入

         解决镜像的备份与迁移问题

         docker export 7691a814370e > ubuntu.tar

         cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0

         docker import http://example.com/exampleimage.tgz example/imagerepo

     2.3 docer 例子

            docker pull nginx

            docker run -p 8011:80 nginx

           

            docker exec  容器ID

            docker attach 容器ID

             docker rmi -f 镜像ID

             

 

    

        

 

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部