• docker 使用教程1-(Docker的常用操作)


    本系列会做一个完整的Docker使用教程 
    上一篇:docker的安装、卸载、运行:https://www.cnblogs.com/easyidea/p/14210376.html

    下一篇:docker安装MySQL 8:https://www.cnblogs.com/easyidea/p/14218131.html

    1、Docker概述

    docker实际上是一种规范,就像集装箱一样,不管要运算的东西是什么都要装在集装箱里面运输。这就是规范,这样的规范使得码头的装货卸货效率提升,也使得运输船舶、运输车辆的大小尺寸有了进一步的规范,从而使得在整个物流运输过程中的效率得到提升。

    docker的镜像就是遵循这种规范的集装箱,这样就使得每个镜像不管里面是什么软件程序,无论在什么地方运行都是一样的结果,这样做的好处就是使得在运维部署的时候解决了环境不一致的问题。

    docker采用容器化技术使得每个容器隔离开来,不会相互影响,因此使用docker可以运行多个 JDK、Nginx、mysql.....甚至还能运行操作系统,并且容器是直接运行在操作系统上面的所以大大节省了资源。

    2、概念理解

    镜像:docker镜像就像一个个模具。

    容器:docker容器就是模具翻模出来的东西。

    仓库:仓库就是存放模具的地方。

    下面通过运行 hello-world 来理解 docker镜像运行过程的操作流程:

    流程分析:

    3、操作命令:

    ①:拉取镜像

    (使用该命令会从远程仓库拉取镜像到本地,并且如果本地已有该镜像会覆盖)

    docker pull hello-world

    ②:运行镜像

    (使用该命令会创建新的容器,相当于每次执行会翻模一次,除了ID不同其他都相同)

    (该命令如果本地没有该镜像的话执行该命令相当于:先后执行 pull+run 两个命令)

    docker run hello-world

    ③:查看本地的镜像

    docker images

    执行上面的命令之后输出如下:

    镜像名称 版本 ID 创建时间 大小
    REPOSITORY TAG IMAGE ID CREATED SIZE
    hello-world latest bf756fb1ae65 12 months ago 13.3KB

    ④:查看正在运行的容器

    (如果容器没事可做会被docker关闭运行状态,因为hello-world打印输出之后就没事可做了,所以执行下面的命令看不到hello-world容器)

    docker container ls

    简化命令:docker ps 

    ⑥:查看所有容器

    (下面的命令可以查看所有容器包括正在运行的、已经结束的)

    docker container ls -a

    简化命令:docker ps -a

    执行上面的命令输出如下:

    容器 ID 镜像名称 启动容器时运行的命令 容器的创建时间 容器的状态 容器的端口 容器名称
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    4d102af792af hello-world "/hello" About an hour ago Exited (0) About an hour ago   modest_robinson

    ⑤:删除镜像

    (删除镜像要输入镜像ID,可以只输入前一段能区分就行了)

    docker image rm bf756

    简化命令:docker rmi bf756

    执行上面的命令,如果出现 :Error response from daemon: conflict: unable to delete bf756fb1ae65 (must be forced) - image is being used by stopped container 4d102af792af

    说明这个镜像还在被容器依赖,这时要先删除它创建的容器(包括已经停止的容器)才能删除该镜像,也可以强制删除:

    docker images rm -f bf756

    ⑦:删除容器

    (删除容器和删除镜像差不多 ,输入容器ID前几位就行了)

    docker container rm 4d102

    简化命令:docker rm 4d102

    如果出现:Error response from daemon: You cannot remove a running container a7...... Stop the container before attempting removal or force remove

    说明该容器正在运行需要先停止运行才能删除,也可以强制删除:

    dockers container rm -f 4d102

    简化命令:docker rm -f 4d102

    ⑧:启动容器

    (启动容器 ,输入容器ID前几位就行了。可以同时启动多个ID ,空格分隔开来)

    docker container start 4d102

    简化命令:docker start 4d102

    ⑨:停止容器

    (停止容器 ,输入容器ID前几位就行了。可以同时启动多个ID ,空格分隔开来)

    docker container stop af749

    简化命令:docker stop af749

    ⑩:重启容器

    (重启容器 ,输入容器ID前几位就行了。可以同时启动多个ID ,空格分隔开来)

    docker container restart af7451

    简化命令:docker restart af7451

  • 相关阅读:
    EasyDSS功能简介视频直播、直播鉴权(如何完美将EasyDSS过渡到新版)
    EasyNVR前端构建之输入框样式的调整
    NVR硬件录像机web无插件播放方案(支持取特定时间段视频流)
    Windows操作系统远程Linux服务器传输文件方法(以EasyDSS云平台、EasyNVR上传部署为例)
    零基础实现摄像头的全平台直播 (二)公网直播的实现
    海康、大华NVR硬件录像机录像无插件全平台访问实现播放时间轴实现
    直播与虚拟直播
    CF585EPresent for Vitalik the Philatelist【莫比乌斯反演,狄利克雷前缀和】
    AT4519[AGC032D]Rotation Sort【dp】
    P5110块速递推【特征方程,分块】
  • 原文地址:https://www.cnblogs.com/easyidea/p/14213742.html
Copyright © 2020-2023  润新知