zoukankan      html  css  js  c++  java
  • Docker 介绍和使用

     

    Docker 技术可以实现容器装载软件和依赖库,类似于封闭的Linux系统,默认相当于有root权限,可以快速移植和部署到其他机器上。

     

    Docker 容器技术可以理解为:仓库(储物间),镜像(类似于面向对象的类的概念,就是比如仓库去保存这些个镜像,好比仓库有好多个锄头,工具等),容器(就是从仓库里面的镜像拿来的具体物品,类似于OOP里面的实例)。

     

    查看 Docker 的守护进程

    service docker start

    Docker 系统启动时运行

    chkconfig docker on

    登录 https://hub.docker.com/

    docker login

    查找官方仓库中的镜像

    docker search

    创建镜像

    docker pull [ubuntu]

    运行容器

    docker run
        -t -i
        -d      //后台运行

    启动已终止容器

    docker start
        -i

    终止容器

    docker stop

    终止并重启

    docker restart

    进入容器

    docker attach

    列出容器

    docker ps
        -a

    查看容器输出信息

    docker log

    列出本地镜像

    docker images

    提交更新

    docker commit
    
        -m "" -a "作者"

    修改镜像的标签

    docker tag

    创建新镜像 Dockerfile

    docker buila

    上传到仓库

    docker push

    导出镜像

    docker save

    裁入镜像

    docker load

    移除本地镜像

    docker rmi

    移除容器

    docker rm

    导出某个容器

    docker export

    导出某个容器

    docker import

    删除所有未运行 Docker 容器

    docker rm $(docker ps -a -q)

    删除所有 Docker 镜像

    删除所有未打 tag 的镜像

    docker rmi $(docker images -q | awk '/^<none>/ { print $3 }')

    删除所有镜像

    docker rmi $(docker images -q)

    根据格式删除所有镜像

    docker rm $(docker ps -qf status=exited)

    docker ps # 查看当前正在运行的image实例
    docker ps -a #查看所有镜像实例
    docker run hello-world #验证docker是否在运行中
    docker inspect <task or container>   检查任务或容器

    #=================== 镜像操作 ========================
    docker build -t <image-name> . #使用当前目录下的Dockerfile构建镜像
    docker images #查看镜像
    docker image ls -a  显示机器上所有的镜像
    docker image rm <image id>      删除指定的镜像
    docker image rm $(docker image ls -a -q)  删除所有的镜像
    docker rmi [image-id/image-name] #删除指定的镜像,如docker rmi nginx
    docker tag <image> <username>/<repository>:<tag> #为自定义的镜像打上tag。如:$docker tag hellopython followtry/demo:latest
    docker push <username>/<repository>:<tag> #将自定义的镜像发布到仓库。如:docker push followtry/demo:lates
    docker pull <username>/<repository> #pull自定义的上传上去的镜像。如:$docker pull followtry/demo
    docker run username/repository:tag #运行仓库的镜像
    #==================      容器操作    ========================
    docker container ls #列出所有运行中的容器
    docker container ls -a #列出所有容器,包括未运行的
    docker container ls -q     #只列出运行的容器的id集合
    docker container stop <hash>  # 优雅停用指定的容器
    docker container kill <hash>  #强制关闭指定的容器
    docker container rm <hash>    #删除指定的容器
    docker container rm $(docker container ls -a -q)  #删除所有的容器
    docker run -d -p 8080:80 --name webserver nginx # 运行nginx镜像实例,-d:后台,-p:绑定端口8080到docker的80
    docker stop <containerid/container-name> #停止容器webserver
    docker start <containerid/container-name> #启动容器webserver
    docker port <containerid/container-name> #查看指定容器的端口映射
    docker logs -f <containerid/container-name> #查看指定容器的日志
    docker top <containerid/container-name>  #查看容器的进程
    docker inspect <containerid/container-name> #检查容器的底层信息
    docker rm <containerid/container-name> 
    Docker守护进程(daemon)Docker命令行(CLI)
    • Docker守护进程(docker daemon)是运行在你的操作系统上的一个服务。目前,它只能运行在Linux上,因为它依赖于一些Linux内核特性(比如Cgroup与Namespace)。 但是,也有一些特殊的办法让Docker运行在MacOS与Windows上(运行在Linux虚拟机中)。

    • Docker守护进程提供了REST API。许多工具(Docker命令行,Docker Compose等)都可以通过REST APIDocker守护进程进行交互,例如创建容器,构建镜像等。

    • Docker命令行(docker CLI)是与Docker守护进程进行交互的主要工具。

    #=========================      HELP   =========================================

    docker --help
    
    管理命令:
      container   管理容器
      image       管理镜像
      network     管理网络
    命令:
      attach      介入到一个正在运行的容器
      build       根据 Dockerfile 构建一个镜像
      commit      根据容器的更改创建一个新的镜像
      cp          在本地文件系统与容器中复制 文件/文件夹
      create      创建一个新容器
      exec        在容器中执行一条命令
      images      列出镜像
      kill        杀死一个或多个正在运行的容器    
      logs        取得容器的日志
      pause       暂停一个或多个容器的所有进程
      ps          列出所有容器
      pull        拉取一个镜像或仓库到 registry
      push        推送一个镜像或仓库到 registry
      rename      重命名一个容器
      restart     重新启动一个或多个容器
      rm          删除一个或多个容器
      rmi         删除一个或多个镜像
      run         在一个新的容器中执行一条命令
      search      在 Docker Hub 中搜索镜像
      start       启动一个或多个已经停止运行的容器
      stats       显示一个容器的实时资源占用
      stop        停止一个或多个正在运行的容器
      tag         为镜像创建一个新的标签
      top         显示一个容器内的所有进程
      unpause     恢复一个或多个容器内所有被暂停的进程


    备注: 多数转载于 https://segmentfault.com/ ,供大家学习

    学习地址:
    http://www.docker.org.cn/ docker中文网
    https://segmentfault.com/
    https://docs.docker.com
    https://www.docker.com/

    学习书籍:
    《docker技术入门与指南》
    http://www.docker.org.cn/dockershuji.html
    
    
  • 相关阅读:
    2019-2020-1 20175311 20175324 20175330 实验四 外设驱动程序设计
    2019-2020-1 20175311 《信息安全系统设计基础》第十一周学习总结
    2019-2020-1《信息安全系统设计》20175311 20175324 20175330 实验三实时系统
    【2019-2020-1】20175330 20175324 20175311 实验二 固件程序设计
    2018-2019-1 20175311 20175324 20175330 实验一 开发环境的熟悉
    2019-2020-1 20175311胡济栋 《信息安全系统设计基础》第五周学习总结教材学习
    恶意代码分析
    免杀进阶
    Android的安装
    免杀原理与实践
  • 原文地址:https://www.cnblogs.com/jinhh/p/7883610.html
Copyright © 2011-2022 走看看