docker

    docker:利用内核虚拟化技术(namespaces及cgroups)来提供容器资源隔离与安全保障
    组成:C/S
    组件:镜像、容器、仓库
    
    安装docker
        centos6:yum install docker-io
        centos7:yum install docker
    
    docker save 镜像名 > /name.tar.gz:导出镜像
    docker load < /name.tar.gz:导入镜像
    docker tag 358bf47a7a64 centos:更改镜像名为centos
    docker images:显示所有镜像
        所属仓库 标签 唯一ID 创建时间 大小
    docker rmi 唯一ID:删除未创建容器的镜像
    docker run centos /bin/echo "hehe":运行镜像为centos的容器,并执行echo命令
    docker ps -a:查看所有容器,不加-a只显示运行的容器,再加-p只显示ID
    
    docker run --name NAME -t -i centos /bin/bash:
        --name:指定容器名
        -t:分配一个虚拟终端tty
        -i:容器属于打开状态,和-t一起使用,执行后tty连接上容器
        容器hostname为容器ID
        运行docker run会先检查镜像是否存在,如不存在先下载
        exit:退出容器时,容器自动终止
    docker start 容器ID:启动容器
    docker attach 容器ID:进入容器,共享tty桌面显示,exit后容器终止
        容器里只有一个进程exit退出进程,容器就终止
    以PID进入容器
        docker inspect --format "{{.State.Pid}}" 57af2f9b65cd:获取指定容器ID的进程PID
        nsenter -t PID -u -i -n -p:以PID进入容器
    docker rm 容器ID:删除指定已停止的容器,-f为强制
    docker kill `docker ps -a -q`:强制关闭所有容器
    
    docker run -d -P nginx:创建nginx容器
        -d:后台运行容器,并返回容器ID
        -P:随机映射端口
        -p 主机port:容器port:指定端口映射
    docker logs ID:查看日志
    
    docker run [OPTION] [COMMAND]
        OPTION
            -v /DIR:容器中挂载一个目录
                docker inspect ID:查看容器所有信息,里面有Volumes信息
            -v /主机DIR:/dockerDIR:ro|rw;主机目录挂载到docker里设置权限
            --volumes-from ID:把指定ID已有的挂载,再挂载到新容器中,所有容器使用一个主机DIR
            -m #:指定最大内存
            -c #:指定CPU权重,不设置为随便用
        COMMAND
            不加命令,默认执行/bin/bash

    docker里程序需要在前台运行
    docker commit -m "mynginx" ID qhj/mynginx:v1:提交容器到本地仓库
        -m "mynginx":提交说明
        qhj/mynginx:v1:谁的名义提交/镜像名:版本
    运行自建镜像
        docker run -it qhj/mynginx:v1
            不指定用户/和:版本会默认使用官方名library/mynginx:latest来查找
        设置nginx前端启动
            vi /etc/nginx/nginx.conf
                daemon off;
        
    
    Dockerfile创建镜像
        vim filename    #文件名好像不一定非要是Dockerfile
            #开头为注释
            FROM cetos    #指定使用的镜像,必须第一条有效的
            MAINTAINER name email    #自定义创建者和邮箱
            RUN COMMAND        #容器中执行命令,可以多条RUN
                例:RUN yum install -y nginx
                    ADD index.html /nginx/html/index.html
                    RUN echo "daemon off" >> /etc/nginx/nginx.conf
            ADD index.html /nginx/html/index.html    #添加文件到容器中,zip文件会自动解压缩,文件跟Dockerfile同目录
            VOLUME ["/data1","/data2"]    #挂载2个目录,但无法指定容器目录
            EXPOSE 80    #对外端口为80
            CMD ["nginx"]    #容器中启动的命令
        
        docker build -t 提交者/镜像名:版本 /dockerfile所在目录
            从dockerfile创建镜像
        docker run -d -p 83:80 qhj/nginx:v2:创建容器,默认执行镜像中命令
        
        
    docker-Registry私有仓库
        docker pull 镜像:下载镜像
        docker pull registry:下载registry私有库镜像
        docker run -d -p 5000:5000 registry:运行registry私有库镜像容器
        docker tag 镜像 IP:5000/镜像名:添加一个ip:5000标签的镜像
        vim /etc/sysconfig/docker:修改不使用https或自签发CA证书
            OPTIONS='--insecure-registry ip:5000'    #CentOS 7系统
            other_args='--insecure-registry ip:5000' #CentOS 6系统
        service docker restart&&docker start registry
        docker push IP:5000/镜像名:添加到私有仓库
        
        
    docker管理:shipyard(web监控)、swarm、fleet、mesos
        开启一个监听端口
            vim /etc/sysconfig/docker
                OPTIONS='-H tcp://0.0.0.0:235'    #CentOS 7系统,添加
                other_args='-H tcp://0.0.0.0:235' #CentOS 6系统,添加
            service docker restart
            curl -s http://192.168.1.180:235/info | python -mjson.tool
                查看监控
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值