树叶云Docker教程:Docker 容器使用

Docker 客户端

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

[email protected]:~# docker

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

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

[email protected]:~# docker stats --help


运行一个web应用

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

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

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

[email protected]:~# 47

参数说明:

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

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


查看 WEB 应用容器

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

[email protected]:~$ docker ps

这里多了端口信息。

PORTS
0.0.0.0:32769->5000/tcp

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

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

我们也可以指定 -p 标识来绑定指定端口。

[email protected]:~$ docker run -d -p 5000:5000 training/webapp python app.py

docker ps查看正在运行的容器

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


网络端口的快捷方式

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

上面我们创建的web应用容器ID为:7a38a1ad55c6 名字为:determined_swanson

我可以使用docker port 7a38a1ad55c6 或docker port determined_swanson来查看容器端口的映射情况

[email protected]:~$ docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
[email protected]:~$ docker port determined_swanson
5000/tcp -> 0.0.0.0:5000

查看WEB应用程序日志

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

[email protected]:~$ docker logs -f 7a38a1ad55c6
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -
192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -

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

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


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

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

[email protected]:~$ docker top determined_swanson


检查WEB应用程序

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

[email protected]:~$ docker inspect determined_swanson
[
    {
        "Id": "7a38a1ad55c6914b360b565819604733db751d86afd2575236a70a2519527361",
        "Created": "2016-05-09T16:20:45.427996598Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "running",
......

停止WEB应用容器

[email protected]:~$ docker stop determined_swanson   
determined_swanson

重启WEB应用容器

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

[email protected]:~$ docker start determined_swanson
determined_swanson

docker ps -l 来查看正在运行的容器

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


移除WEB应用容器

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

[email protected]:~$ docker rm determined_swanson  
determined_swanson

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

[email protected]:~$ docker rm determined_swanson
Error response from daemon: You cannot remove a running container 7a38a1ad55c6914b360b565819604733db751d86afd2575236a70a2519527361. Stop the container before attempting removal or use -f

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/161493.html<

(0)
管理的头像管理
上一篇2025-03-18 06:13
下一篇 2025-03-18 06:14

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注