zoukankan      html  css  js  c++  java
  • Docker教程

    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

  • 相关阅读:
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    第04组 团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
  • 原文地址:https://www.cnblogs.com/ma13461749958/p/14235331.html
Copyright © 2011-2022 走看看