docker容器

docker容器介绍及部分使用

docker 介绍

docket的介绍网上有很多,说的也很详细。但是我当时在看的时候感觉不是很好理解。但是还是推荐去看官网介绍,以下自己的看法总结

	容器技术出现已经很久了,2013年发布后发展很快。具体的docker应用明天详细写出(具体语法)。今天说一下docker的概念。

​ 简单的来说docker就是一个类似于虚拟机的东西,不同之处在于它是可以共享宿主机的资源,而且资源消耗很低,同时也提供了很便利的接口。

​ 对于程序开发来说,使用docker可以很好的做到资源隔离、方便部署。但是缺点也很明显,一旦出现问题不能及时分析,日志分析困难等。但是只要是优点大于缺点那么它就是成功了大半。如果让你部署200台服务器,你也不可能一个一个去配置吧!docker的镜像容器技术就很好的解决了这个问题。

docker有三个重要概念:镜像、容器、仓库。

​ 镜像:可以理解为一个特殊的系统,包括容器运行的所有依赖文件和资源,不包括动态资源,一旦建立就不会改变

​ 容器:其实就是镜像+你自己的资源,就是相当于镜像的本地定制

​ 仓库:就是存放镜像的地方

​ 当我们从公开仓库拿到部分公开资源镜像后,通过加入自己开发的东西建立符合自己需求的容器,然后把容器变成镜像,这样此镜像就是自己程序的镜像了,上传仓库里,只要是有机器需要就pull下来,运行容器就可以在相同配置文件下运行程序而不用担心配置或其他方面的错误。

​ 其实我觉得docker很类似Git之类的代码托管。只不过Git是做代码托管,而docker托管的是整个系统(包括操作系统,配置文件,静态资源等等,就是一套从系统到自编软件的所有资源托管,有些夸大了,反正就是那个意思)

docker常用命令

镜像相关命令

  1. docker images
    # 查看已有镜像
    
  2. docker sava 镜像唯一标识 > 保存路径
    # 保存镜像至本地
    
  3. daocker load 镜像文件
    # 加载镜像文件
    
  4. daocker rmi 镜像唯一标识
    # 删除镜像, 删除镜像前必须先将与之相关联的所有容器删除
    

容器相关命令

  1. docker ps [-a] [-q]
    # 查看当前运行的容器 -a:查看所有容器 -q:查看容器ID
    
  2. docker stop|start|restart 容器标识
    # 停止|开启|重启 容器
    
  3. docekr run -i -t [-d:后台运行] [-p:端口映射] [--name:命名] 容器标识 [bash:打开命令行]
    # 创建容器|进入容器
    
  4. docker exec -i -t 容器标识
    # 进入已经运行的容器,与run相比,exit后不会停止容器
    
  5. Dockerfile 创建镜像
    Dockerfile 没有后缀名,内容如下
    
    FROM 镜像标识      --------关联镜像
    ENV 变量          --------设置环境变量
    MAINTAINER 信息   --------维护人信息(不推荐)
    LABEL maintainer="信息"  -----维护人信息(推荐)
    RUN 命令1 && 命令2 && 命令3  ----创建镜像时执行的命令(尽量少写run,命令合并)
    EXPOSE 端口1 端口2    --------开启端口
    ADD 文件或路径        --------复制文件到镜像中
    VOLUME 路径           ------------容器挂载路径
    WORKDIR 路径          -----------容器运行时内部工作路径
    CMD ['命令1', '命令2', ...] -----容器创建或启动时执行的命令
    
    # 部分命令案例
    # ENV JAVA_HOME /usr/local/jdk... 
    # CMD ['python', 'app.py']  CMD['pypy3', 'app.pyc']
    

私有仓库相关命令

  1. 需要先建立私有仓库(阿里仓库https://cs.console.aliyun.com/index2?accounttraceid=7a8a8f85e1aa4720b5cc6701e6d4bec4sixn#/k8s/cluster/list

    具体操作可看https://cr.console.aliyun.com/repository/cn-hangzhou/zgf_docker/dockers/details)

  2. docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com
    # 登录账号
    
  3. docker pull registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:[镜像版本号]
    
  4. sudo docker tag 镜像id 想改成的名字:版本号
    # 使用"docker tag"命令重命名镜像,
    
  5. docker push 镜像名:版本
    

udo docker tag 镜像id 想改成的名字:版本号
# 使用"docker tag"命令重命名镜像,
```

  1. docker push 镜像名:版本
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值