• 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
    
  • 相关阅读:
    ORACLE 定时执行存储过程
    Java 基于spring 暴露接口 供外部调用
    java 从jsp页面传集合给controller
    Java 后台验证的工具类
    Xcode12真机/模拟器运行项目非常慢的解决方式
    苹果手机系列 安全区高度/设置粗体高度不正常
    Xcode 官方下载地址
    OC UICollectionView 滚动完全显示item
    cocospod 更新到指定版本及其问题
    OC 一张图片填充满整个导航栏(包含X系列)
  • 原文地址:https://www.cnblogs.com/WangJunZzz/p/9955358.html
Copyright © 2020-2023  润新知