Docker 客户端

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。

runoob@runoob:~# docker

可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

例如我们要查看 docker stats 指令的具体使用方法:

runoob@runoob:~# docker stats --help


运行一个web应用

前面我们运行的容器并没有一些什么特别的用处。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

runoob@runoob:~# docker pull training/webapp  # 载入镜像
runoob@runoob:~# docker run -d -P training/webapp python app.py

参数说明:

  • -d:让容器在后台运行。

  • -P:将容器内部使用的网络端口映射到我们使用的主机上。


查看 WEB 应用容器

使用 docker ps 来查看我们正在运行的容器:

runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE               COMMAND             ...        PORTS
d3d5e39ed9d3        training/webapp     "python app.py"...0.0.0.0:32769->5000/tcp

这里多了端口信息。

PORTS
0.0.0.0:32769->5000/tcp

Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。

这时我们可以通过浏览器访问WEB应用

我们也可以通过 -p 参数来设置不一样的端口:

runoob@runoob:~$ docker run -d -p 5000:5000 training/webapp python app.py

docker ps查看正在运行的容器

runoob@runoob:~#  docker ps
CONTAINER ID        IMAGE                             PORTS                     NAMES
bf08b7f2cd89        training/webapp     ...0.0.0.0:5000->5000/tcp    wizardly_chandrasekhar
d3d5e39ed9d3        training/webapp     ...0.0.0.0:32769->5000/tcp   xenodochial_hoov

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。


网络端口的快捷方式

通过 docker ps 命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。

上面我们创建的 web 应用容器 ID 为 bf08b7f2cd89 名字为 wizardly_chandrasekhar

我可以使用 docker port bf08b7f2cd89 或 docker port wizardly_chandrasekhar 来查看容器端口的映射情况。

runoob@runoob:~$ docker port bf08b7f2cd89
5000/tcp ->0.0.0.0:5000
runoob@runoob:~$ docker port wizardly_chandrasekhar
5000/tcp ->0.0.0.0:5000


查看 WEB 应用程序日志

docker logs [ID或者名字] 可以查看容器内部的标准输出。

runoob@runoob:~$ docker logs -f bf08b7f2cd89*Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)192.168.239.1--[09/May/201616:30:37]"GET / HTTP/1.1"200-192.168.239.1--[09/May/201616:30:37]"GET /favicon.ico HTTP/1.1"404-

-f:docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。


查看WEB应用程序容器的进程

我们还可以使用 docker top 来查看容器内部运行的进程

runoob@runoob:~$ docker top wizardly_chandrasekhar
UID     PID         PPID          ...       TIME                CMD
root    2324523228...00:00:00            python app.py


检查 WEB 应用程序

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

runoob@runoob:~$ docker inspect wizardly_chandrasekhar
[{"Id":"bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85","Created":"2018-09-17T01:41:26.174228707Z","Path":"python","Args":["app.py"],"State":{"Status":"running","Running":true,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":23245,"ExitCode":0,"Error":"","StartedAt":"2018-09-17T01:41:26.494185806Z","FinishedAt":"0001-01-01T00:00:00Z"},......


停止 WEB 应用容器

runoob@runoob:~$ docker stop wizardly_chandrasekhar
wizardly_chandrasekhar


重启WEB应用容器

已经停止的容器,我们可以使用命令 docker start 来启动。

runoob@runoob:~$ docker start wizardly_chandrasekhar
wizardly_chandrasekhar

docker ps -l 查询最后一次创建的容器:

#  docker ps -l
CONTAINER ID        IMAGE                             PORTS                     NAMES
bf08b7f2cd89        training/webapp     ...0.0.0.0:5000->5000/tcp    wizardly_chandrasekhar

正在运行的容器,我们可以使用 docker restart 命令来重启。


移除WEB应用容器

我们可以使用 docker rm 命令来删除不需要的容器

runoob@runoob:~$ docker rm wizardly_chandrasekhar
wizardly_chandrasekhar

删除容器时,容器必须是停止状态,否则会报如下错误

runoob@runoob:~$ docker rm wizardly_chandrasekhar
Error response from daemon:You cannot remove a running container bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85.Stop the container before attempting removal or force remove

转载于:https://www.cnblogs.com/geogre123/p/11466787.html

Docker 容器使用相关推荐

  1. Docker容器的备份与恢复,Docker镜像的备份与恢复

    1. 备份容器 首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表.要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命 ...

  2. docker 容器访问宿主机的解决方式

    需求 基于本地docker的自研及使用需要,希望docker容器的服务能连接到宿主机提供的服务. 背景 网络上查阅了大量的资料,基本的解决办法是通过手动查阅IP的方式进行, 但docker宿主机的ip ...

  3. Spring cloud 微服务docker容器化最佳实践

    Spring cloud 是当下最炙手可热的微服务套件,我们将介绍如何整合Docker容器达到高效快捷的构建发布 采用了dockerfile-maven-plugin插件发布镜像到远程docker主机 ...

  4. 进入Docker容器命令

    进入Docker容器命令 docker执行命令: docker exec -it [容器ID或者容器名称] /bin/bash 如果出现下述问题: OCI runtime exec failed: e ...

  5. Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)

    Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...

  6. Docker学习(四)-----Docker容器常用命令

    七.Docker容器 容器是Docker核心概念 简单的说,容器是独立运行的一个或一组应用,以及它们的运行环境 对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和运行 ...

  7. 客快物流大数据项目(十):Docker容器命令

    目录 Docker容器命令 一.查看容器 二.创建与启动容器

  8. 一文看懂docker容器技术架构及其中的各个模块

    概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块. 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 ...

  9. Docker容器化部署config-server无法直接访问

    Docker容器化部署config-server无法直接访问 1. 本机ip启动方式: 2. Docker容器启动 1)问题 2)解决办法 - 本机启动 - 服务器启动俩种方式 3. dockerfi ...

  10. docker宿主机访问docker容器服务失败

    2019独角兽企业重金招聘Python工程师标准>>> 原因: 因为docker的虚拟ip网段是172.17.*.*与局域网的ip网段172.17冲突了,所以有两种方式: 解决方法: ...

最新文章

  1. 数据结构与算法——AVL树类的C++实现
  2. 统计学习导论 Chapter3--Linear Regression
  3. 18年第十三届黑龙江省赛
  4. MutipartFile使用过程中遇到的坑
  5. 前端读者 | 别人写的css,你敢用吗?
  6. How to use USB to do charger detection instead of PMIC?
  7. 搭建服务器Apache+PHP+MySql需要注意的问题
  8. ubuntu nginx 伪静态 设置
  9. 90后告别第一份工作后,更青睐新一线城市开启职场第二步
  10. brctl 设置ip_Linux 网桥配置命令:brctl
  11. 【黑灰产犯罪研究】恶意注册
  12. python中小学生编程学习-推荐几个适合小白学习Python的免费网站
  13. 携程和12306解绑
  14. 计算机开关机操作记录,win7电脑操作记录怎么查看|win7查看电脑操作记录的方法...
  15. 计算机接口3p,Roland(罗兰)宣布推出虚拟JX-3P合成器云乐器
  16. Unity图集简介及使用
  17. April 2005 停下来回首一下
  18. 北京物资学院图书馆打印个人PC的文件上传方式
  19. 中国31个主要城市绿地数据(空间分辨率为1m)
  20. altium designer 文件转换成 allegro 文件

热门文章

  1. Must be between v0 and v15, inclusive解决办法
  2. Android TextView多行文本滚动实现
  3. SQL Server数据库镜像的FailOver自动连接
  4. 熊顿 - 滚蛋吧!肿瘤君(2013年4月22日)
  5. NYOJ 202 红黑树 数组模拟中序遍历
  6. 修改折半查找算法进行范围查找
  7. Android 动态权限申请 BaseActivity 封装 拨打电话
  8. 洛谷 P1141 01迷宫(dfs)
  9. (4.28)for xml path 在合并拆分上的作用演示
  10. JSON与Java对象的互相转换