docker学习端口映射---第二章节
一.运行一个web应用
首先,下载一个docker镜像:
[root@k8s-01 ~]# docker pull training/webapp
运行webapp的容器:
[root@k8s-01 ~]# docker run -d -P training/webapp python app.py
cb2ea5793288ada7c8be553befab76d7516e4a65999680aefeb531d000888634
参数说明:
- -d:让容器在后台运行
- -P:将容器内部使用的网络端口映射到我们使用的主机上
二.查看WEB应用容器
docker ps -l显示最新创建的容器
查看我们正在运行的webapp容器:
[root@k8s-01 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb2ea5793288 training/webapp "python app.py" 54 seconds ago Up 54 seconds 0.0.0.0:32768->5000/tcp laughing_engelbart
可以发现,多了端口信息。docker开放的5000端口映射到主机端口32768上。可以通过浏览器访问WEB应用:

这里我们还可以通过-p参数来设置不一样的端口:
[root@k8s-01 ~]# docker run -d -p 5000:5000 training/webapp python app.py
c5acdbc01395c4d4d38438bc8351fd0820d2ac60c6c8e4924c28f600d0f83c78
查看运行的容器:
[root@k8s-01 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c5acdbc01395 training/webapp "python app.py" 52 seconds ago Up 51 seconds 0.0.0.0:5000->5000/tcp pensive_mestorf
可以看出容器内部的5000端口映射到我们本地主机的5000端口上。
三.查看网络端口的快捷方式
我们可以通过docker ps命令查看容器的端口映射。docker还提供了另一个快捷方式docker port,使用docker port可以查看指定(容器ID或者名称)容器的某个确定端口映射到宿主机的端口号
[root@k8s-01 ~]# docker port c5acdbc01395 && docker port pensive_mestorf
5000/tcp -> 0.0.0.0:5000
5000/tcp -> 0.0.0.0:5000
四.查看docker容器应用程序日志输出
[root@k8s-01 ~]# docker logs -f c5acdbc01395
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
这里可以像使用tail -f 一样来输出容器内部的标准输出
五.查看WEB应用程序容器的进程
我们可以通过docker top来查看容器内部运行的进程
[root@k8s-01 ~]# docker top c5acdbc01395
UID PID PPID C STIME TTY TIME CMD
root 2358409 2358392 0 04:10 ? 00:00:00 python app.py
六.检查WEB应用容器的配置和状态信息
可以使用docker inspect来查看docker的底层信息,它会返回一个Json文件记录着docker容器的配置和状态信息
[root@k8s-01 ~]# docker inspect c5acdbc01395
[
{
"Id": "c5acdbc01395c4d4d38438bc8351fd0820d2ac60c6c8e4924c28f600d0f83c78",
"Created": "2018-12-20T09:10:33.039244936Z",
"Path": "python",
"Args": [
"app.py"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 2358409,
"ExitCode": 0,
"Error": "",
"StartedAt": "2018-12-20T09:10:33.400703462Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
.........
七.删除web应用容器
使用docker rm命令删除容器
删除前,需要停止容器,否则会报错
[root@k8s-01 ~]# docker stop c5acdbc01395
c5acdbc01395
删除容器
[root@k8s-01 ~]# docker rm c5acdbc01395
c5acdbc01395
参考链接:http://www.runoob.com/docker/docker-container-usage.html
docker学习端口映射---第二章节的更多相关文章
- docker iptables 端口映射 nat
docker iptables 端口映射 nat #!/bin/bash pro='tcp' NAT_Host='Host_A' NAT_Port=8080 Dst_Host='Host_B' ...
- docker学习端口连接docker容器---第四章节
一.Docker容器连接 前面的第二章节,我们事先通过网络端口来访问运行在docker容器内的服务,我们也可以通过端口连接到一个docker容器 我们可以指定容器绑定的网络地址,如绑定127.0.0. ...
- Docker基础-端口映射与容器互联
1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时, ...
- 【docker】追加docker容器端口映射的方法
docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改.通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射. 但这样太麻烦了.现在有新方案来解决掉: ...
- ip route,ip rule, iptables和docker的端口映射
iptables 默认5个表, 不可增加其他表 raw 用于配置数据包,raw 中的数据包不会被系统跟踪. filter 是用于存放所有与防火墙相关操作的默认表. nat 用于 网络地址转换(例如:端 ...
- 修改docker容器端口映射的方法
大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改.通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射. 有没有办法不保存镜像而直接修改 ...
- 16. docker 网络 端口映射
一.本地操作 1.如何将 nginx 暴露给外界 创建 nginx 服务器 docker run --name web -d nginx 查看 nginx 的 ip地址 docker network ...
- Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。
Docker简介 Docker是开源应用容器引擎,轻量级容器技术. 基于Go语言,并遵循Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...
- 修改docker的port端口映射
原以为修改docker的端口映射只是一条命令就可以搞定,结果发现没那么简单,记录一下以防忘记.1. 查看需要修改的容器,记住container iddocker ps -a2. 停止容器docker ...
随机推荐
- linux下查看进程id时用到的命令
一.查看端口占用的进程 . lsof -i:端口号, 查看某一端口的占用情况 [root@localhost bin]# lsof -i: COMMAND PID USER FD TYPE DEVIC ...
- ElasticSearch改造研报查询实践
背景: 1,系统简介:通过人工解读研报然后获取并录入研报分类及摘要等信息,系统通过摘要等信息来获得该研报的URI 2,现有实现:老系统使用MSSQL存储摘要等信息,并将不同的关键字分解为不同字段来提供 ...
- 微信小程序的MVVM思想
本文参照:[微信小程序开发]秒懂,架构及框架 同时多看:https://blog.csdn.net/qq_26585943/article/details/54378684 微信小程序开发,主要分清楚 ...
- jquary 选择器,dom操作知识点
选择器: 1. 基本选择器 1. 标签选择器(元素选择器) * 语法: $("html标签名") 获得所有匹配标签名称的元素 2. id选择器 * 语法: $("#id的 ...
- Flutter工程无法找到Android真机或Android模拟器
之前的Flutter的工程链接真机还好好的 结果电脑抽抽了过了个年就连不到真机了 一点run就提示 No connected devices found; please connect a devic ...
- scrapyd的安装和scrapyd-client
1.创建虚拟环境 ,虚拟环境名为sd mkvirtualenv sd #方便管理 2. 安装 scrapyd pip3 install scrapyd 3. 配置 mkdir /etc/scrapy ...
- 常用User-Agent大全
浏览器User-Agent的详细信息 PC端: safari 5.1 – MAC User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8 ...
- es6语法在ios低版本的支持性
let.const.箭头函数在ios的某些版本不支持,会引起报错 参考:https://blog.csdn.net/cx091/article/details/79805369 https://can ...
- jq里验证插件的自定义方法Jquery.validator.addMethod()示例
最近写验证的时候感觉原生的验证谢了一遍又一遍,就想到了“不要重复造轮子,学会管理自己的工具库”这句名言,于是尝试用jq的validator. 用过又发现需要自定义方法去验证,于是去查官网,写了Jque ...
- 多条件分类统计group by 显示数目为0的类别
CREATE TABLE #authorTable(author VARCHAR(50)) INSERT #authorTable SELECT 'peter' UNION SELECT '捌妮' U ...