zoukankan      html  css  js  c++  java
  • 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通知系统, 系统状态检查
  • 相关阅读:
    file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS
    WebImageButton does not change images after being enabled in Javascript
    ajax OPTION
    编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    获取海洋天气预报
    C#线程系列教程(1):BeginInvoke和EndInvoke方法
    js控制只能输入数字和小数点
    Response.AddHeader(,)
    ManualResetEvent的理解
    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 区别
  • 原文地址:https://www.cnblogs.com/fepapa/p/6122691.html
Copyright © 2011-2022 走看看