Docker 容器使用
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 容器使用相关推荐
- Docker容器的备份与恢复,Docker镜像的备份与恢复
1. 备份容器 首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表.要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命 ...
- docker 容器访问宿主机的解决方式
需求 基于本地docker的自研及使用需要,希望docker容器的服务能连接到宿主机提供的服务. 背景 网络上查阅了大量的资料,基本的解决办法是通过手动查阅IP的方式进行, 但docker宿主机的ip ...
- Spring cloud 微服务docker容器化最佳实践
Spring cloud 是当下最炙手可热的微服务套件,我们将介绍如何整合Docker容器达到高效快捷的构建发布 采用了dockerfile-maven-plugin插件发布镜像到远程docker主机 ...
- 进入Docker容器命令
进入Docker容器命令 docker执行命令: docker exec -it [容器ID或者容器名称] /bin/bash 如果出现下述问题: OCI runtime exec failed: e ...
- Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)
Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...
- Docker学习(四)-----Docker容器常用命令
七.Docker容器 容器是Docker核心概念 简单的说,容器是独立运行的一个或一组应用,以及它们的运行环境 对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和运行 ...
- 客快物流大数据项目(十):Docker容器命令
目录 Docker容器命令 一.查看容器 二.创建与启动容器
- 一文看懂docker容器技术架构及其中的各个模块
概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块. 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 ...
- Docker容器化部署config-server无法直接访问
Docker容器化部署config-server无法直接访问 1. 本机ip启动方式: 2. Docker容器启动 1)问题 2)解决办法 - 本机启动 - 服务器启动俩种方式 3. dockerfi ...
- docker宿主机访问docker容器服务失败
2019独角兽企业重金招聘Python工程师标准>>> 原因: 因为docker的虚拟ip网段是172.17.*.*与局域网的ip网段172.17冲突了,所以有两种方式: 解决方法: ...
最新文章
- 数据结构与算法——AVL树类的C++实现
- 统计学习导论 Chapter3--Linear Regression
- 18年第十三届黑龙江省赛
- MutipartFile使用过程中遇到的坑
- 前端读者 | 别人写的css,你敢用吗?
- How to use USB to do charger detection instead of PMIC?
- 搭建服务器Apache+PHP+MySql需要注意的问题
- ubuntu nginx 伪静态 设置
- 90后告别第一份工作后,更青睐新一线城市开启职场第二步
- brctl 设置ip_Linux 网桥配置命令:brctl
- 【黑灰产犯罪研究】恶意注册
- python中小学生编程学习-推荐几个适合小白学习Python的免费网站
- 携程和12306解绑
- 计算机开关机操作记录,win7电脑操作记录怎么查看|win7查看电脑操作记录的方法...
- 计算机接口3p,Roland(罗兰)宣布推出虚拟JX-3P合成器云乐器
- Unity图集简介及使用
- April 2005 停下来回首一下
- 北京物资学院图书馆打印个人PC的文件上传方式
- 中国31个主要城市绿地数据(空间分辨率为1m)
- altium designer 文件转换成 allegro 文件