zoukankan      html  css  js  c++  java
  • Docker实用手册

      参考资料:

      https://www.runoob.com/docker/docker-tutorial.html

      https://blog.csdn.net/xcc_2269861428/article/details/103820419

      https://www.jianshu.com/p/b92d4b845ed6

      读者一定早已知道docker的功用,写这个随笔的原因是每次创建docker的时候因为记不住命令都要到处查,所以下面汇总一下。文章会涵盖容器,镜像的相关知识,以精简实用为目标。也会涵盖具体的命令(存储器挂载,端口映射等)。

      1. 镜像 images

    docker images    # 查看现有的镜像
    
    docker pull XXXX    # 拉取一个镜像 e.g.: docker pull nvidia/cuda:11.0-cudnn8-devel-ubuntu18.04
    ## 注意:docker最方便的一点就是有人帮你做好了镜像,一般我们会到dockerhub上寻找images的tag,或者使用docker search命令
    
    docker rmi 镜像名    # 删除一个镜像,后面跟镜像名或id
    
    docker commit -m="提交原因" -a="作者" 容器ID或名字 镜像名:tag    # 将一个容器制作成images. 
    ## e.g.: docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
    
    docker save -o 文件名.tar 镜像名或ID    # 将一个镜像保存到本地,e.g.:docker save -o rocketmq.tar rocketmq

      2. 容器 container

    docker ps [-a]   # 查看正在运行的容器,如果加-a则显示停止的容器
    
    docker start 容器名或ID    # 启动一个停止的容器
    
    docker stop 容器名或ID    #停止一个正在运行的容器
    
    docker run -it 镜像名或ID 命令    # 启动一个容器 e.g.:$ docker run -it ubuntu /bin/bash
    ## 注意个命令是docker的核心,给出的例子的意思就是以交互式的终端-i -t来运行镜像ubuntu,
    ## 且运行的命令是shell bash,运行后你就进入到容器里了,后面还会介绍更多的参数。
    ## 如果-itd则默认不会进入容器,容器会在后台运行
    
    docker rm 容器名或容器ID    # 删除一个停止了的容器

      掌握了容器和镜像的命令,docker掌握了大半,下面介绍磁盘映射和端口映射的命令。

      3. 磁盘映射

    ## 磁盘映射,原理即把宿主机上的一个目录挂载到docker容器中!
    ## 注意如果宿主机上该文件夹不存在,会创建并挂载一个空的文件夹。
    ## 这个功能十分实用,因为你实现了宿主机和docker的文件同步!
    ## 一旦docker崩溃,不至于损失数据
    docker -v 容器目录:宿主机目录
    # e.g.: docker run -it -v /data/mydata:/workspace ubuntu /bin/bash
    # 进入到容器后,你会发现/workspace文件夹,这就是把宿主机的/data/mydata文件夹挂载上去啦!
    

      4. 端口映射

    ## 端口映射,很多时候你想开放宿主机的端口,让它们能够被docker所用,
    ## 此时我们就需要端口映射
    ## 端口映射有很多种类型,我只介绍最常见的类型
    docker -p 宿主机端口:docker容器端口 [-p 宿主机端口:docker容器端口]
    ## e.g.: docker -p 45011:22 -p 45012:8080
    

      5. tips

    • 在创建docker的时候可能会想加上--restart=always参数让容器自动重启
    • 在创建docker的时候可能会想加上--gpus all让宿主机gpu对容器可见

      大概就是这么多!以后查阅起来就方便多了。

  • 相关阅读:
    iOS 代码让手机震动一下
    iOS开发 --制作圆形的头像(UIImage)
    JAVA基本数据类型和引用数据类型的区别
    jquery基础
    JS基础
    JAVA异常详解
    单例模式详解及java常用类
    JAVA基础之字符串和面向对象
    我的第一篇博客 初识动画,飞机行小动画
    GCD系列:调度组(dispatch_group)
  • 原文地址:https://www.cnblogs.com/chester-cs/p/13962751.html
Copyright © 2011-2022 走看看