docker简单命令

84 篇文章 0 订阅
73 篇文章 0 订阅

Docker 容器技术的代表  将程序隔离 打包 
    简介 粗糙的理解为轻量层的虚拟机
        Mac安装 
        下载 www.docker.com   ->Download Docker for Mac
        安装
        配置 
             配置镜像 加速器    国内阿里云 时速云 注册帐号 专属加速器地址
    Linux安装 
        $sudo wget -qO- https://get.docker.com/ | sh  安装docker本身 
        $sudo usermod -aG docker test   添加test非 超级用户管理docker
                $docker info  查看docker信息 
    
    Windows安装 
        下载 www.docker.com    ->Download Docker for Windows


镜像与容器 
                     镜像仓库 
                        |
    客户端 <----> 守护进程  --->镜像 
                    --->容器

    docker pull 获取image
    docker build 创建image
    docker images 列出当前已有的image
    docker run 运行 container 
        docker ps  列出当前正在运行的container 
    docker rm 删除container 
    docker rmi (container ID) 删除image 
    docker cp 在host和container之间拷贝文件
    docker commit 保存改动为新的image


      -------------- 
   $docker run ubuntu echo hello docker    在ubuntu 这个image中输出 hello docker (首先会检查 容器所需的image ubuntu是否存在 不存在会去远端镜像仓库 下载)
   $docker images  查看容器中 所有image
   $docker run -p 8080:80 -d daocloud.io/nginx  -p将80端口 映射到8080端口 开启一个nginx服务 返回当前image container id 
   $docker ps  查看当前运行的container
   $docker cp index.html (container id)://usr/share/nginx/html  将index.html文件拷贝到 (container id)容器://usr/share/nginx/html 下
   $docker commit -m 'fun' (container  id)  新的image名称  docker容器内的操作都是暂时的  操作之后 需要保存 保存之后生成一个新的image
   $docker stop (container id)    停止容器
   $docker rmi (image id)  删除指定 
   $docker ps -a  列出所有容器
   $docker rm id1 id2 ... 批量删除

Dockerfile  自创docker 镜像一
   1>touch Dockerfile 
      FROM alpine:latest     从base镜像 
      MAINTAINER XXX         备注 
      CMD echo "Hello Docker" command 命令
   2>docker build -t hello_docker .   docker build创建image -t打标签 .路径(把.路径下所有文件传给docker engine 创建一个image) 
   3>docker run hello_docker   运行hello_docker image

自创docker 镜像二  
    1>mkdir dockerfiler2   创建新的目录 
    2>cd dockerfiler2
    3>touch Dockerfile
           FROM ubuntu                         从基础镜像
           MAINTAINER XXX                      备注 
       RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list  换源加速 
           RUN apt-get update                  更新ubuntu库 
       RUN apt-get install -y nginx        安装 nginx  
       COPY index.html /var/www/html       拷贝文件到容器 
       ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"] 将nginx在前端执行  不是以守护进程执行 
       EXPOSE 80  暴露80端口 
     4>docker build -t xxxx/hello-nginx .   构建新的image 
     5>docker run -d -p 8080:80 xxxx/hello-nginx 运行新的image
     6>curl http://localhost   curl模拟发送请求 

Dockerfile 语法 :
        FROM  base image
        RUN   执行命令 
    ADD   添加文件
    COPY  拷贝文件
    CMD   执行命令
    EXPOSE 暴露端口
    WORKDIR 指定路径
    MAINTAINER 维护者
    ENV   设定环境变量
    ENTRYPOINT 容器入口   优先级高于CMD
    USER   指定用户
    VOLUME  mount point
           


容器存储
    镜像分层  Dockerfile中每一行产生一个新的分层 每一层都有自己的id 
    Volume  提供独立于容器之外的持久化存储 (数据库容器操作 ) 
                   docker exec -ti (docker id)  bash 

Registry 镜像仓库
    术语 
        host 宿主机
         image 镜像 
        container 容器 
        registry  仓库
        daemon    守护程序 
        client    客户端
    $docker search 镜像名    在仓库中搜索镜像 
    $docker pull 镜像名      将所需镜像拉到本地 
    $docker push 镜像名      将本地镜像 推到仓库 

国内一些仓库    daocloud 
                           时速云
                           aliyun

多容器app
    通过 docker-compose工具

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值