• docker 初识1


    学习网址

    https://git.oschina.net/yangllsdev/docker-training
    https://docs.docker.com/engine/installation/linux/centos/
    

    docker 基本概念

    什么是docker

    docker是一个开源的容器技术(lxc)解决方案
    效果: 在一台物理机上可以模拟多个操作系统的效果
    docker是运行在os上的一个app,将硬件做了逻辑隔离,但是大部分操作系统堆栈都是直接使用的宿主机的
    

    优缺点

    优点: 部署快,启动快 --- 秒级
    缺点: 不是一个完整的操作系统堆栈,部分功能受限制
    

    docker 使用场景

    docker 组成部分

    docker client
    docker server  == docker daemon 的重要组成部分
    docker image  ---> docker container
    docker registry  === docker container 的存储仓库
    

    使用方法

    编写Dockerfile

    FROM
    MAINTAINER
    ENV
    ADD  COPY
    RUN
    EXPOSE
    VOLUME  # 在docker run -v 使用的时候映射
    ENTRYPOINT  CMD  # 都是在docker run 的时候执行, cmd 可以直接覆盖, entraypoint 要加参数 e.g. --entrypoint /bin/bash
    ONBUILD
    

    cmd

    使用dockerfile --> docker image
        docker build -t registry_url/namespace/centos:7.1 /dockerfile/path
        docker images  # 查看本地的docker image
        
    docker image --> docker container
        docker help run
        docker run
            -it   # 交互式的启动
            -d    # 后台启动,成功后返回container id 一个很长的字符串
            -p 22        # 大写P  重启后,前端映射端口会改变
            -P 2222:22   # 小写p  只有本container 删除后,前端映射端口才会改变
            -e WORDPRESS_DB_USER=admin  # set environment variable
        docker run -d -p 2222:22 --name base(container name) namespace/centos:7.1
        docker run -d # background  
        docker ps -a  # 查看本地当前所有的container
    
    进入交互式的模式
        docker exec -it website(container name) /bin/bash
        supervisorctl  # 查看当前容器运行的服务
        exit
        
    container:
        docker ps -a  # show all container info    
        docker run   # create a container
        docker start container_name   # start container
        docker stop container_name    # stop container
        docker rm -f container_name   # delete a container   -f can release up status container
    
    image:
        docker images # show all images info
        docker rmi image_id
    

    磁盘映射

    效果: 删除docker container , 数据不会删除
    场景: 数据库文件  /var/lib/mysql/
    方法: 
        run 参数 -v
        docker run -d -p 3306:3306 -v host_dir:container_dir --name container_name image
    

    registry

    分类

    private registry  server
    mirror registry  server
    sponsor / vendor registry  server # 企业私有的,但是docker 公司协助管理
    
    
    registry server v2 & registry server v1
        go 语言替代了 python
        上传下载快
        内嵌webhook通知系统, 系统状态检查
  • 相关阅读:
    牛客网 CSL的英语考试
    SDNU 1016.矩形合并
    SDNU 1412.Huffuman树(优先队列)
    HDU
    HDU
    HDU
    SDNU 1504.B.Fibonacci
    Find them, Catch them(种类并查集)
    golang中的net/rpc包
    gRPC
  • 原文地址:https://www.cnblogs.com/fepapa/p/6122691.html
Copyright © 2020-2023  润新知