zoukankan      html  css  js  c++  java
  • Docker 命令集合

    Docker 安装

    • 使用脚本自动安装 Docker

    在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS系统上可以使用这套脚本安装:

    // 使用脚本自动化安装Docker
    $ curl -fsSL get.docker.com -o get-docker.sh
    $ sudo sh get-docker.sh --mirror Aliyun
    
    • 手动安装 Docker

    首先安装 Docker 必要依赖包:

    $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    

    由于自带 yum 没有 Docker-CE 所以我们需要先增加 docker repo:

    $ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    用 yum 安装 Docker:

    $ yum install -y docker-ce
    

    直接yum安装,安装成功后查看版本:

    $ docker -v
    Docker version 18.09.5, build e8ff056
    

    设置开机启动:

    $ chkconfig docker on 或 sudo systemctl enable docker
    

    启动docker:

    $ sudo service docker start 或 sudo systemctl start docker
    
    
    • 配置 Docker

    因为国内访问 Docker Hub 较慢, 可以使用腾讯云提供的国内镜像源, 加速访问 Docker Hub,
    依次执行以下命令:

    // 配置腾讯云镜像加速器
    $ echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
    // 重载配置文件 
    $ sudo systemctl daemon-reload
    // 重启 Docker
    $ sudo service docker restart 或 sudo systemctl restart docker
    
    // 配置DaoCloud镜像加速器
    $ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://37bb3af1.m.daocloud.io`
    $ sudo systemctl restart docker
    
    • 运行hello-world 测试Docker
    $ sudo docker run hello-world
    

    Docker 卸载

    • 卸载Docker
    // 卸载 docker
    $ sudo yum remove docker-ce
    
    • 删除镜像、容器、数据卷和用户自定义文件

    卸载不会自动删除主机上的镜像、容器、数据卷或用户自定义文件,从主机磁盘上传所有镜像、容器、数据卷:

    // 移除 docker 文件夹
    $ sudo rm -rf /var/lib/docker
    

    Docker 运行容器

    下载镜像:

    // 拉取 docker 镜像
    $ docker pull centos
    

    查看镜像列表

    $ docker images
    

    生成一个 centos 镜像为模板的容器并使用 bash shell:

    // 生成一个 centos 镜像的容器,并进入容器内部
    $ docker run -it centos /bin/bash
    

    生成环境下,通常会通过docker run -d命令运行应用容器,例:

    $ docker run -d --restart=always --name [AppName] -p 5000:5000 [ImageName]
    

    说明:

    • -d:表示会将容器作为服务启动,不需要终端交互
    • --name:指定容器名称
    • --restart:是一个面向生产环境的参数,用来指定容器非正常退出时的重启策略,always表示始终重新启动容器

    退出容器

    $ exit
    

    查看容器列表

    // 查看所有容器
    $ docker ps -a 
    
    // 查看正在运行的容器
    $ docker ps
    

    保存容器

    // 查找所有容器信息,获取容器的ID
    $ docker ps
    
    // 保存镜像
    $ docker commit -m="备注" [CONTAINER ID](容器ID) [IMAGE NAME](镜像名称)
    

    进入已存在的容器

    // 进入容器终端并且的保留为容器终端的输入形式
    $ docker exec -it [CONTAINER ID](容器ID) bash
    

    Docker 查看容器日志

    通过docker logs命令可以查看容器的日志,命令格式:

    $ docker logs [OPTIONS] CONTAINER
      Options:
            --details        显示更多的信息
        -f, --follow         跟踪实时日志
            --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
            --tail string    从日志末尾显示多少行日志, 默认是all
        -t, --timestamps     显示时间戳
            --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
    

    查看最后100行日志

    $ docker logs -f -t --since="2019-05-05" --tail=100 [CONTAINER ID](容器ID)
    

    查看最近30分钟的日志

    $ docker logs --since 30m --tail=100 [CONTAINER ID](容器ID)
    

    查看某时间段日志

    $ docker logs -t --since="2019-05-05T00:00:00" --until "2019-05-05T12:00:00" [CONTAINER ID](容器ID)
    

    Dockerfile 构建镜像

    通过Dockerfile构建Docker镜像,在程序根目录创建Dockerfile文件,并编辑:

    // FROM  指定以microsoft/dotnet:latest镜像为模板构建镜像
    FROM microsoft/dotnet:latest
    // WORKDIR 指定工作目录
    WORKDIR /app
    // COPY 赋值当前目录(其中.即代表当前目录)到容器中的/app目录下
    COPY . /app
    // RUN 指定容器中执行的命令
    RUN dotnet restore
    // EXPOSE 指定容器暴露的端口号
    EXPOSE 5000
    // ENV 指定环境参数,下面命令用来告诉.NETCore项目在所有网络接口上监听5000端口
    ENV ASPNETCORE_URLS http://*:5000
    // ENTRYPOINT 设置容器启动时要执行的命令,参数--urls,解决IPv6 不能绑定的问题
    ENTRYPOINT ["dotnet","run","--no-restore","--urls","http://0.0.0.0:5000"]
    
  • 相关阅读:
    团队项目——技术规格说明书
    Scrum Meeting 11.1
    Scrum Meeting 10.31
    Scrum Meeting 10.30
    Scrum Meeting 10.29
    Scrum Meeting 10.28
    Scrum Meeting 10.27
    Scrum Meeting 10.26
    团队作业Week5
    Boost C++: 数据结构---tuple
  • 原文地址:https://www.cnblogs.com/ICanSoft/p/11653438.html
Copyright © 2011-2022 走看看