zoukankan      html  css  js  c++  java
  • Docker 简介

    容器

    容器是直接运行在操作系统内核之上的用户空间。容器不仅仅是一个单纯的运行环境,在自己的权限范围内,容器更像是一个完整的宿主机。容器有独立的网路和存储栈,还拥有自己的资源管理能力,使得同一台宿主机中的多个容器可以友好的共存。

    Docker

    Docker是一个能够把开发得应用程序自动部署到容器得开源引擎。
    Docker镜像是构建docker世界得基石,用户基于镜像来运行自己得容器。
    镜像是Docker生命周期中得构建或者打包阶段,而容器是启动或者执行阶段。

    Docker应用场景

    1. 加速本地开发和构建流程,使其更加高效,轻量化。
    2. 高性能,超大规模得宿主机部署。

    Docker 命令

    # 拉取镜像
    docker pull
    # 查找镜像
    docker search images_name
    # 运行一个容器
    docker run -it --name docker_name ubuntu /bin/bash
    # 启动容器
    docker start docker_name
    # 停止容器
    docker stop docker_name
    # 重启容器
    docker restart docker_name
    # 查看所有容器
    docker ps
    # 附着到容器[如果推出容器得shell,容器会停止]
    docker attach docker_name
    # 查看日志
    docker logs docker_name
    # 统计容器信息
    docker stats
    # 进入容器
    docker exec -it docker_name /bin/bash
    # 自动重启容器
    docker run --name docker_name --restart=always ubuntu /bin/bash
    # 删除容器
    docker rm docker_name
    # 删除镜像
    docker rmi docker_image
    # 查看镜像
    docker images
    # wangjunzzz仓库名,static_web镜像名,v1 标签  --no-cache 不使用缓存
    docker build --no-cache -t="wangjunzzz/static_web:v1" 
    # 推送镜像
    docker push wangjunzzz/static_web
    

    Dockerfile构建镜像

    指令

    • FROM 指定基础镜像
    FROM ubuntu:14.04
    
    • CMD 用于指定一个容器启动时要运行得命令,有点类似RUN,只是run指令是指在镜像构建是要运行得命令。docker run 命令可以覆盖CMD指令。
    CMD ["yum","install","-y","nginx"]
    
    • ENTRYPOINT 和CMD指令很相似,执行cmd指令得时候docker run命令会覆盖,但是entrypoint不会,docker run 命令行中得参数都会被当作参数传递给entrypoint指令中指定得命令。
    ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off"]
    
    • WORKDIR 指定容器内部工作目录,entrypoint和cmd指令在该目录下执行。
    WORKDIR /opt/webapp
    
    • ENV 设置环境变量
    #docker build -t supback --build-arg env="Development" .
    ENV ASPNETCORE_ENVIRONMENT=$env
    
    • USER 指定镜像以什么样得用户去运行,默认root
    USER user
    USER uid:group
    
    • VOLUME 挂载卷
    VOLUME ["/data"]
    
    • ADD 将构建环境下的文件和目录复制到镜像中,并且还可以解压
    ADD /mnt/test.zip /root/test.zip
    
    • COPY 将构建环境下的文件和目录复制到镜像中,只是复制
    COPY /mnt/test.zip /root/test.zip
    
    • LABEL 指定元数据
    #镜像的相关信息
    LABEL Discription="这是基于dotnetcore的泛优镜像"
    LABEL version="1.0"
    
    • ARG 构建时候传递参数变化
    #定义参数 通过ARG 可以在构建镜像的时候定义参数
    ARG env
    # 设置环境变量
    ENV ASPNETCORE_ENVIRONMENT=$env
    #基于之前的Dockerfile构建泛优的系统镜像
    docker build -t supback --build-arg env="Development" .
    

    Docker-Compose

    安装

    #安装pip
    yum -y install epel-release
    yum -y install python-pip
    pip install --upgrade pip
    pip install docker-compose 
    docker-compose version
    
  • 相关阅读:
    Scala(四)流程控制
    Scala(九)异常
    Idea中安装翻译插件
    hiveserver2启动卡住问题解决方案
    Scala(十)隐式转换
    Scala(七)集合
    Scala(六)面向对象
    Scala(八)模式匹配
    SharePoint 2010 文档库添加文件icon
    Windows Server 2008 r2 在Hyperv里搭建SharePoint 2010开发环境
  • 原文地址:https://www.cnblogs.com/WangJunZzz/p/9955358.html
Copyright © 2011-2022 走看看