Docker基本使用(二)
Docker 客户端
我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。

可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。
例如我们要查看 docker stats 指令的具体使用方法:
docker stats --help
运行一个web应用
前面我们查看了docker的一些基本命令的使用。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
$ docker pull training/webapp # 载入镜像
$ docker run -d -P training/webapp python app.py

参数说明:
- -d:让容器在后台运行。 
- -P:将容器内部使用的网络端口映射到我们使用的主机上。 
使用docker ps查看正在运行的容器

我们可以看到PORTS属性下多了端口信息;
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32768 上。
这时我们可以通过浏览器访问WEB应用
地址栏输入:主机IP:32768
我们也可以通过 -p 参数来设置不一样的端口:
docker run -d -p 5000:5000 training/webapp python app.py
网络端口的快捷方式
通过 docker ps 命令可以查看到容器的端口映射,或者使用 docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。

查看 WEB 应用程序日志
docker logs [ID或者名字] 可以查看容器内部的标准输出。
$ docker logs -f sharp_mclean
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。
查看WEB应用程序容器的进程
我们还可以使用 docker top 来查看容器内部运行的进程

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

停止 WEB 应用容器

重启WEB应用容器
已经停止的容器,我们可以使用命令 docker start 来启动。
正在运行的容器,我们可以使用 docker restart 命令来重启
docker ps -l 查询最后一次创建的容器:

移除WEB应用容器
我们可以使用 docker rm 命令来删除不需要的容器
删除容器时,容器必须是停止状态,否则会报错.
网络端口映射
我们使用 -P 参数创建一个容器,使用 docker ps 来看到端口5000绑定主机端口32768。
我们也可以使用 -p 标识来指定容器端口绑定到主机端口。
两种方式的区别是:
- -P :是容器内部端口随机映射到主机的高端口。
- -p : 是容器内部端口绑定到指定的主机端口。
$ docker run -d -p 5000:5000 training/webapp python app.py
另外,我们可以指定容器绑定的网络地址,比如绑定127.0.0.1
$ docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
这样我们就可以通过访问127.0.0.1:5001来访问容器的5000端口。
上面的例子中,默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp
$ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
docker port 命令可以让我们快捷地查看端口的绑定情况。
$ docker port adoring_stonebraker 5000

容器命名
当我们创建一个容器的时候,docker会自动对它进行命名。另外,我们也可以使用--name标识来命名容器,例如:
$ docker run -d -P --name runoob training/webapp python app.py
Docker基本使用(二)的更多相关文章
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
		操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ... 
- Docker学习(二): 镜像的使用与构建
		特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ... 
- CentOS下Docker与.netcore(二) 之 Dockerfile
		CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ... 
- docker学习笔记二:常用命令
		docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ... 
- Docker + .NET Core(二)
		原文:Docker + .NET Core(二) 前言: 环境:centos7.5 64 位 正文: 首先我们在宿主机上安装 .NET Core SDK sudo rpm --import https ... 
- Docker学习笔记二(linux下安装Docker)
		Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ... 
- Dockerfile自动制作Docker镜像(二)—— 其它常用命令
		Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ... 
- Docker 使用指南 (二)—— 搭建本地仓库
		版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/94 来源:腾云阁 https://www.qclou ... 
- Docker入门之二镜像
		Docker大部分的操作都是围绕三大核心概念:镜像.容器.仓库.学Docker首先得了解这几个词.这几个词可能平时也会有涉及,但Docker中可能不是同样得概念. 一.三大核心概念 镜像:可能在安装软 ... 
- Docker进阶之二:Docker内部组件
		Docker内部组件 一.Namespaces 命名空间,Linux内核提供的一种对进程资源隔离的机制,例如进程,网络,挂载点等资源. docker run -d busybox ping ba ... 
随机推荐
- Linux iostat 命令
			iostat 命令是 I/O statistics(输入/输出统计)的缩写,用来报告系统的 CPU 统计信息和块设备及其分区的 IO 统计信息.iostat 是 sysstat 工具集的一个工具,在 ... 
- 剑指offer--4.重建二叉树
			题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2, ... 
- 深度学习之概述(Overview)
			2016年被称为人工智能的元年,2017年是人能智能应用的元年:深度学习技术和应用取得飞速发展:深度学习在互联网教育场景也得到广泛应用.本文主要介绍机器学习及深度学习之定义及基本概念.相关网络结构等. ... 
- iOS-响应链(Responder Chain)
			2017.05.08 20:40* 字数 1306 阅读 740评论 6喜欢 9 工作接近一年,很久没有更新博客.工作中学到很多知识点后面将花时间整理,作为对一年知识学习的总结: 下面是本篇博客的写作 ... 
- jmeter分布式压测(多台电脑一起压测)
			(1)在Windows下运行 操作步骤: 1) 有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相能ping通. 2) 在我的电脑的jmeter的配置文件bin目录下的jme ... 
- Servlet 使用ServletContext共享数据,读取web.xml配置
			ServletContext对象 session和cookie,对于每一个请求用户来说,都是不同的,因为要保证隐私安全. 而有一些数据,可以让所有用户共享,此时就可以用ServletContext对象 ... 
- PAT L2-023 图着色问题
			https://pintia.cn/problem-sets/994805046380707840/problems/994805057298481152 图着色问题是一个著名的NP完全问题.给定无向 ... 
- IdentityServer4【QuickStart】之设置和概述
			设置和概述 有两个基本的方式来开启一个新的IdentityServer项目: 从头开始 从asp.net Identity模板开始 如果你从头开始,我们提供了一些基于内存中构建的存储,所以你不必一开始 ... 
- Oracle 检查约束check
			--检查约束 create table test1( id ) primary key, email ) check (email like '%@%') ) drop table test1 ,'1 ... 
- js的日期操作:String转date日期格式、求日期差
			一.在js中String类型转成date格式 var date = new Date("2018-9-21 14:58:43");//就是这么简单 二.date转String类型就 ... 
 
			
		
