美文网首页
Docker 基本操作

Docker 基本操作

作者: 木叶苍蓝 | 来源:发表于2020-05-22 15:30 被阅读0次
查看容器参数
  • CONTAINER ID:指的是容器的id,是一个唯一标识符,这是一个64位的十六进制整数,在不会混淆的情况可以只采用id的前 12位进行标识一个容器。
  • IMAGE:表示创建容器时使用的镜像。
  • COMMAND:表示容器最后运行的命令。
  • CREATED:创建容器的时间。
  • STATUS:容器的状态,这里可能显示一个容器启动时间,也能显示容器关闭时间。具体显示那个要看容器的当前状态。
  • PORTS:容器对外开放的端口。
  • NAMES:容器的名字,如果不设置,会有一个默认的名字。
    docker ps -l:查看最近创建的容器。
    docker ps -n=xx:查看最新创建的n个容器。
创建容器

创建容器整体上来说有两种不同的方式,可以先创建,再启动,也可以连创建带启动一步到位。无论是那种方式,流程都是相似的。当执行一个创建命令之后,docker首先会去本地路径下查找是否有相应的镜像,如果没有,就去 docker hub 上搜索,如果搜索到了,就下载下来,然后利用该镜像创建一个容器并启动。容器的文件系统是在只读的镜像文件上添加一层可读写的文件层,这样可以使在不改变镜像的情况下,只记录改变的数据。下面对两种方式分别介绍。

容器创建

开发者可以首先使用 docker create 命令创建一个容器,这个时候创建出来的容器是处于停止状态,没有运行,例如要创建一个nginx容器,创建命令如下

docker craete ngix

创建成功之后,可以查看容器是否创建成功


create_nginx.png

此时创建的容器并未运行,处于停止状态,容器的 name 是随机生成的,也可以在创建容器时指定 name:

docker create --name=my_nginx nginx
容器创建+启动

如果既要创建容器又要启动容器,则可以使用 docker run 命令。docker run 命令又可以启动两种不同模式的容器:后台型容器和交换型容器,顾名思义,后台型容器就是一个在后台运行的容器,默默的在后台执行计算就行了,不需要和开发者进行交互,而交互型容器则需要接收开发者的输入进行处理给出反馈。对于开发者而言,大部分情况下创建的后台型容器,不在很多时候,即使是后台型容器也不可避免的需要进行交互

后台型容器

后台型容器以 nginx 为例,一般 nginx 在后台运行即可:

docker run --name nginx1 -d -p 8080:80 nginx

--name含义和上文一样,表示创建的容器名字,-d表示容器在后台运行,-p表示将容器的80端口映射到宿主机的8080端口

nginx_run.png
首先依然会去本地检查,本地没有相应的容器,则会去 docker hub 上查找,查找到了下载并运行,并且生成了一个容器id。运行成功后,在浏览器中输入http://localhost:8080就能看的Nginx的默认页面了。
交互型容器

例如创建一个 ubuntu 容器,开发者可能需要在 ubuntu上面输入命令执行相关操作,交互型容器创建方式如下:

docker run --name ubuntu -it ubuntu /bin/bash

参数含义都和上下文一致,除了 -it ,-it参数, i 表示开发容器的标准输入(STDIN),t 则表示告诉 docker,为容器创建一个命令行终端。


docker_ubuntu.png

该命令执行完后,会打开一个输入终端,开发者就可以在这个终端中操作ubuntu了
想要退出该终端,只需要输入 exit 命令既可。

容器启动
启动

如果开发者使用了 docker run 命令创建了容器,则创建完成后容器就已经启动了,如果使用了 docker create 命令创建了容器,则需要再执行 docker start ,命令来启动容器,使用 docker start 命令结合容器id或者容器name可以启动一个容器。

docker_start.png
docker start 启动的是一个已经存在的容器,要使用该命令启动一个容器,必须要先知道容器的id或者name,开发者可以通过这两个属性来启动一个容器(案例中 nginx 是通过 name 启动的,而 ubuntu 则是通过id启动的)。一般的来说,第一次可以使用 docker run启动一个容器,以后直接使用 docker start 即可。
重启

容器在运行的过程中,会不可避免的出现问题,出来问题,需要能够自动重启,在容器启动时使用 --restart 参数可以实现这一需求。根据 docker 官网的解释,docker 的重启策略可以分为4种,如下:

  • no:表示不自动重启容器,默认为no。
  • on-failure[:max-retries]:表示在退出状态为非0时才会重启(非正常退出),有一个可以选择参数:最大重启次数,可以设置最大重启次数,重启次数达到上限后就会放弃重启。
  • always:表示始终重启容器,当docker守护进程启动时,也会无论容器当时的状态为何,都会尝试重启容器。
  • ubless-stopped:表示始终重启容器,但是当 docker 守护进程启动时,如果容器已经停止运行,则不会去重启它。
容器停止

通过docker stop命令可以终止一个容器,可以通过name 或者 id 终止一个容器。

容器删除
  1. 单个删除
    容器停止之后还依然存在,如果需要,还可以通过 docker start命令再次重启一个容器,如果不需要一个容器,则可以通过 docker run命令删除一个容器。删除容器时,只能删除已经停止运行的容器,不能删除正在运行的容器。如果非要删除一个指针运行的容器,可以通过 -f 参数实现。
批量删除

容器也可以批量删除,命令如下:

docker rm $(docker ps -a -q)

docker ps -a -q 会列出所有容器的id,供 rm 命令删除。
如下命令也支持删除已经退出的孤立的容器:

docker container prune

相关文章

  • docker 基本命令

    一,关于docker镜像操作的基本命令 二,关于docker容器操作的基本命令 三,关于docker仓库操作的基本命令

  • docker基本操作

    # docker基本操作 ## 镜像操作 ### 获取镜像 从Docker Hub搜索镜像: docker s...

  • Docker学习笔记

    基本操作 docker for mac https://docs.docker.com/docker-for-ma...

  • Docker 部署前端项目流程

    1、基本的 docker 操作命令 docker images --- 查看所以镜像 docker search ...

  • Docker 常用操作

    Docker 基本信息显示 Container容器操作 Image镜像操作 常见错误 docker load导入本...

  • Docker 基本操作

    Docker 查看启动的 container 查看所有的 container MongoDB 获取镜像 创建目录 ...

  • Docker 基本操作

    终于开始了新的工作,感觉非常不错。今天公司居然停电可以早点下班了,记录一下 Docker 的一些基本操作,上下班路...

  • docker 基本操作

    使用 docker 的方法启动 webGoat 安全缺陷学习平台。 安装docker (基于 ubuntu 系统)...

  • docker基本操作

    查看所有容器docker ps -aOPTIONS说明:-a :显示所有的容器,包括未运行的。-f :根据条件过滤...

  • docker基本操作

    启动容器 交互式容器 查看容器 ``$ docker ps [-a] [-l]docker ps -a 查看所有容...

网友评论

      本文标题:Docker 基本操作

      本文链接:https://www.haomeiwen.com/subject/nwwqahtx.html