zoukankan      html  css  js  c++  java
  • Docker ---- 介绍 加速配置 镜像操作 容器操作

    docker介绍

    区别

    -部署到服务器--》代码放到服务器--》服务器装python环境(版本)--》django环境(版本)--》mysql(版本)
     
    -docker部署--》项目做成docker镜--》放到服务器--》拉起镜像(容器)--》项目就运行了
    

    解决的问题

    -保证程序运行环境的一致性;
    -降低配置开发环境、生产环境的复杂度和成本;
    -实现程序的快速部署和分发
    

    docker 是一个c/s架构软件(客户端,服务端) docker客户端通过restful跟服务端做交互

    服务端:容器,镜像,数据卷,网络

    客服端,服务端,仓库(放了一堆镜像):当客户端发一条命令(拉取redis镜像) 服务端守护进程接收 去仓库拿redis镜像,放到服务端本地

    学docker:就是学一堆命令

    image-20200328161437278

    centos安装docker

    # 安装步骤
      -1 sudo yum update # 更新yum源
      -2 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装一些依赖包
      -3 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 把源设置为阿里云,安装比较快
      -4 sudo yum install docker-ce  # 安装docker-ce
      -5 docker -v    # 查看客户端版本
    
      -6 docker version  # 客户端和服务端的版本,看不到服务端的版本(服务端没有启动)
    
      -7 systemctl start docker # 服务端启动
    

    容器和镜像

    # 1 类和对象的关系:类可以产生对象,而且可以产生多个对象
    # 2 镜像和容器:一个镜像可以运行出多个容器,运行起来的容器:当成虚拟机:centos7+redis
    # 3 如果拉取了一个redis镜像:相当于一个linux操作系统上面安装了redis软件
    # 4 真正的执行,容器在运行(操作系统+软件)
    # 5 镜像:一堆文件,必须要运行起来,成为容器
    

    加速配置

    # 拉取镜像,是从远程拉的,在国外,速度非常慢,换成国内的镜像:清华,阿里
    # 一开始没有:daemon.json 
    
    vi /etc/docker/daemon.json 
    # 设置成七牛源(如果启动不了,没有严格按照josn格式,排查一下即可)
    
    {"registry-mirrors": ["https://reg-mirror.qiniu.com"]}
    
    systemctl restart docker # 重启docker服务
    systemctl stop docker  # 停止docker服务
    systemctl start docker # 启动docker服务
    systemctl status docker # 查看docker状态
    systemctl enable docker # 设置成开机启动
    docker info  # 查看docker 概要信息
    

    镜像操作

    1 镜像查找

    docker search 镜像名字
    https://hub.docker.com/ # 官网有命令
    NAME   DESCRIPTION     STARS    OFFICIAL 
    镜像名字   描述          start数   是否是官方
    

    2 镜像查看

    docker images  # 查看本地镜像
    REPOSITORY   TAG      IMAGE ID         CREATED             SIZE
    redis       latest    f0453552d7f2    2 weeks ago         98.2MB
    python      3.6       1daf62e8cab5    4 weeks ago         914MB
    

    3 镜像下载pull

    docker pull centos:版本号
    docker pull centos # 表示下载最新的,等同于docker pull centos:latest
    docker pull centos:7
    docker pull centos:centos6.6
    

    4 镜像删除

    docker rmi 镜像名字/id号
    
    # 一次性删除所有镜像
    docker rmi `docker images -q`  # 这个不要用
    docker images -q # 过滤出所有id号
    

    容器操作

    创建并启动(创建(create) 启动(start))

    创建容器命令:docker run

    -i:表示运行容器
    -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
    -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
    --name :为创建的容器命名。
    -v:数据卷:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    
    docker run -it --name=mycentos centos:7
       # 接下来操作的是mycentos这个容器
       # 可以安装软件,它就是一个centos7
       # 你之前拉取的redis的镜像:linux+redis软件
       # exit 退出,容器也就停止了
        
    docker run -di --name=mycentos2 centos:7
    	# docker run -d -i --name=mycentos2 centos:7	
    	# 每个容器都用自己的id号:b1eeace155b54e467dfcbc....
        
    docker run -d -i --name=mycentos3 centos:6.5  # 如果本地没有最新的centos镜像,先去拉,然后创建并允许
    
    # 启动一个redis容器
    docker run -di --name=myredis -p 6379:6379 redis
    # 把本机的reids停掉 端口映射,6378 6379
    
    # 用docker 允许一个服务(装一个软件),变得异常简单
    # linux安装redis(源码下载,解压,make & make insall)
    
    # 查看容器  (查看正在运行,查看所有)
    查看正在运行的容器
    docker ps
    查看所有容器
    docker ps –a
    查看最后一次运行的容器
    docker ps –l
    查看停止的容器
    docker ps -f status=exited
    
  • 相关阅读:
    poj 1753 Flip Game
    SDIBT 2345 (3.2.1 Factorials 阶乘)
    HDU 1176 免费馅饼
    HDU 1058 Humble Numbers
    HDU 1003 MAXSUM(最大子序列和)
    HDU1864 最大报销额
    HDU 1114 Piggy-Bank(完全背包)
    POJ 3624 Charm Bracelet
    处理textarea里Enter(回车换行符)
    uniApp打卡日历
  • 原文地址:https://www.cnblogs.com/lddragon1/p/12604284.html
Copyright © 2011-2022 走看看