Docker

 概念-docker:轻量级的虚拟化技术,容器虚拟化方案中的佼佼者

 容器的概念:
            容器有效的将由单个操作系统管理的资源划分到孤立的组中,
            以便更好地在孤立的组之间平衡有冲突的资源使用需求,
            与虚拟化相对,即不需要指令级模拟,也不需要即时编译,
            容器可以在核心CPU本地运行指令,而不需要任何解释机制,
            还避免了准虚拟化和系统调用替换中的复杂性

docker与虚拟机比较
            相比虚拟机的优势:
                速度快, 占资源少, 操作简单, 自动化

一、安装部署Docker

yum -y install docker

systemctl start docker.service

ifconfig  --会看到一个docker的网卡 172.17.0.1这个是官方内置的写死的

因为docker镜像是通过nat方式连外网的,所以本机还需要打开转发功能
打开本地路由转发 
echo 1 > /proc/sys/net/ipv4/ip_forward

重启network服务
 systemctl restart network


查看是否修改成功
 sysctl net.ipv4.ip_forward

如果返回为“net.ipv4.ip_forward = 1”则表示成功了

配置国内dockerhub镜像源点
https://cr.console.aliyun.com/    ->打开,登陆->管理中心->镜像加速

二、Docker镜像(Image) 

类似于虚拟机镜像,面向docker引擎的只读模板,包含文件系统
镜像是创建docker容器的基础,通过版本管理和增量的文件系统来创建和更新现有镜像

search:检索在线的centos镜像

docker  search 镜像名称 

例:
    docker search centos      --查找centos的镜像
    docker search centos:5    --指定查询centos5的镜像


pull:下载镜像

docker pull  镜像名称

 --automated=false       仅显示自动创建的镜像
              --no-trunc=false        输出信息不截断显示
              -s, --stars=0           指定评价星级以上的镜像

列出本机所有镜像

docker images

来自哪个仓库  标签信息  镜像ID  创建时间  镜像大小
  例:
     docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
  docker.io/centos    6                   ea096efd33cc        3 weeks ago         194.3 MB
  docker.io/centos    latest              d123f4e55e12        3 weeks ago         196.6 MB

tag:给镜像添加别名标签

 docker tag 镜像名称:标签 新镜像名称:新标签名(语法)

例子:

docker tag  docker.io/centos:latest    jinhui/redis

docker commit :构建镜像一个新的镜像

docker commit -m "描述"  -a "创建者 <创建者邮箱>" 容器名称 镜像名称(语法)

-a:指定创建者信息

-m:描述

例子: 

docker  commit -a "jinhui <778686980@qq.com>"  cl  jinhui/redis:latest

docker images  --就可以看出上一条命令创建的镜像

rmi:删除镜像

docker rmi  镜像名称(语法)

例子:

docker rmi jinhui/redis:net-tools

save: 导出镜像
    docker save 镜像名称 -o 导出镜像名.tar
    例:
        docker save jinhui/redis:net-tools -o redis-net-tools.tar

load:导入镜像
    docker load -i 镜像包名称.tar
    例:
        docker load -i centos-net-tools.tar

三、Docker容器(Container)

run:运行一个容器

docker run --name 自定义容器名称  -it  镜像名称(语法名称)

-i  让容器的标准输入保持打开
-t  让docker分配一个伪终端并绑定到容器的标准输入上
-d  容器在后台运行

--name 指定容器名称

-p  允许外部访问容器需要暴露的端口

--rm 容器退出自动删除   不能和-d使用

例子:
       docker run --name c1 -it centos:latest
    退出来方法:Ctrl+p 再 Ctrl+q

exec:连接一个启动的容器
  docker exec -ti 容器ID 命令

例子:    

docker exec -ti c1 bash


ps: 显示正在运行的容器
    docker ps  --显示正在运行的容器
    docker ps -a  --显示所有容器,包括停止的

start: 启动一个容器
  docker start 容器名称
  例:
     docker start c1

stop:停止一个容器
    docker stop 容器名称
    例:
       docker stop c1

rm :删除一个容器
    docker rm 容器名称
    例:
       docker rm c1

四、Docker仓库(Repository)

类似于代码仓库,存储镜像文件的场所
最大的公开仓库: Docker Hub(http://hub.docker.com)

    从仓库中下载镜像 docker pull
    从仓库中上传镜像 docker push
    从仓库中搜索镜像 docker search

创建私有仓库
   可以通过registry容器创建本地私有仓库

docker需要ssl认证才可以正常使用私有仓库,可以安装签发证书
   还有一种方法强制使用普通方式(Centos):
   # vim /etc/sysconfig/docker    打开配置文件追加以下内容
   OPTIONS='--insecure-registry 私有仓库地址:5000"

重启docker

systemctl restart docker

拉取本地库

docker pull registry

docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

-d      后台守护执行

 -p      监听端口号

  -v      镜像存放目录

测试私有仓库能否上传与下载
先从官方下载一个镜像
# docker pull busybox 

再使用tag更改标签
# docker tag docker.io/busybox 192.1.1.5:5000/busybox

上传镜像到私有仓库
# docker push 192.1.1.5:5000/busybox

在另外一台机器上下载私有仓库镜像
# docker pull 192.1.1.5:5000/busybox

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

brid_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值