docker学习

  • Centos.x 系统
    • yum install docker
    • chkconfig docker on
    • systemctl start docker service
    • systemctl status docker service
  • Ubuntu > 14.04 系统
    • apt-get -y install docker.io
    • service docker.io status
  • docker  安装镜像
    • docker pull 镜像名
    • 如果不确定版本,可以先运行 docker search  镜像名 搜寻镜像
  • 拉取和删除镜像
    • 删除镜像
      • docker rmi <镜像名>
    • 拉取镜像
      • docker pull <镜像名>
    • 查看镜像
      • docker images
      1. 仓库名
      2. 镜像标签信息
      3. 镜像ID
      4. 创建时间
      5. 镜像大小
      • docker inspect <ID>  //查看镜像详细信息
  • 创建镜像
    • 基于已有的镜像容器创建
      • docker commit -a <作者> -m <提交信息> --pause=true
      • 例如: docker commit -a "duankun" -m "new ubuntu"  (容器ID)179f18f744ff testimage
      • 注意, id 一定要是已经启动的容器ID
    • 基于本地模板导入
      • sudo cat <tar.gz> | docker import -<name>:<tag>
      • https://openvz.org/Download/template/precreated
  • 存出和载入镜像
    • 存出镜像
      • docker  save -o **.tar <name>:<tag>
    • 载入镜像
      • docker load --input  或 < **.tar
  • 上传镜像
    • docker tag <ID> <accountName>/<imageName>:<tag>
    • docker push <accountName>/<imageName>:tag
  • 下载镜像
    • docker pull <accountName>/<imageName>:tag
  • 创建并启动容器
    • 创建容器
      • docker create -it <name>:tag    //只是创建容器,并没有启动容器,可以是已存在的镜像,也可以是不存在的镜像
    • 启动容器
      • docker start <ID>   //启动已经创建的容器
  • 启动容器并查看日志
    • 新建并启动容器
      • docker run -t <ID> /bin/bash    //此ID是镜像的ID
    • 守护态运行
      • docker run -d <ID> /bin/bash -c 'while true;do echo hello world;sleep 1;done'
  • 终止\进入\删除容器
    • 终止容器
      • docker stop <ID>    //容器ID
    • 进入容器
      • docker exec -it <ID> /bin/bash
    • 删除容器
      • docker rm  -f <ID>
  • 导入\导出容器
    • 导入镜像
      • cat **.tar | docker import -<name>:<tag>
    • 从容器导出镜像
      • docker export <ID> > **.tar
  • 搭建私有仓库
    • docker pull registry
    • docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
    • http://<IP地址>:5000/v2_catalog
  • 数据卷
    • 在容器中创建一个数据卷
      • docker run -v <host DIR>:<container DIR><name> <commond>
      • 举例:docker run -d -P --name web -v /webapp:training/webapp python app.py
      • 如果有多个数据卷,可以写多个 -v
  • 数据卷容器
    • 举例
      • docker run -it -v /dbdata --name dbdata ubuntu
      • docker run -it --volumes-from dbdata --name db1 ubuntu
      • docker run -it --volumes-from dbdata --name db2 ubuntu

                      

  • 利用数据卷容器迁移数据
    • 备份
      • docker run --volume-from dbdata -v $(pwd):/backup --name worker tar cvf /backup/backup.tar /dbdata
    • 恢复
      • docker run -v /dbdata --name dbdata2 ubuntu2 ubuntu /bin/bash
      • docker run -volumes-from dbdata2 -v $(pwd)://backup busybox tar xvf /backup/backup.tar
  • 网络配置
    • 访问容器应用
      • -P 随机端口
        • docker run -d -P training/wabapp python app.py
      • -p 指定端口
        1. 映射多有IP   docker run -d -p 5000:5000 --name web training/webapp python app.py 
        2. 映射到指定地址和端口   docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
        3. 映射到指定地址的任意端口   docker run -d -p 127.0.0.1:5000 training/webapp python app.py
        4. 插看映射端口配置  docker port

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值