Docker 容器使用

news2024/12/26 12:38:14

文章目录

  • Docker 容器使用
    • Docker 客户端
    • 运行一个web应用
    • 查看 WEB 应用容器
    • 网络端口的快捷方式
    • 查看WEB应用程序日志
    • 查看WEB应用程序容器的进程
    • 检查WEB应用程序
    • 停止WEB应用容器
    • 重启WEB应用容器
    • 移除WEB应用容器


Docker 容器使用

Docker 客户端

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

root@localhost:~# docker

在这里插入图片描述

更多的帮助:https://docs.docker.com/go/guides/

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

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

root@localhost:~# docker stats --help

在这里插入图片描述

运行一个web应用

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

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

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

root@localhost:~# docker run -d -P training/webapp python app.py

在这里插入图片描述

参数说明:

  • -d:让容器在后台运行。
  • -P:将容器内部使用的网络端口映射到我们使用的主机上。

查看 WEB 应用容器

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

root@localhost:~$ docker ps

在这里插入图片描述
这里多了端口信息。

PORTS
0.0.0.0:32769->5000/tcp

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

这时我们可以通过浏览器访问WEB应用
在这里插入图片描述
我们也可以指定 -p 标识来绑定指定端口。

root@localhost:~$ 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来查看容器端口的映射情况

root@localhost:~$ docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
root@localhost:~$ docker port determined_swanson
5000/tcp -> 0.0.0.0:5000

查看WEB应用程序日志

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

root@localhost:~$ 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 来查看容器内部运行的进程

root@localhost:~$ docker top determined_swanson

在这里插入图片描述

检查WEB应用程序

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

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

停止WEB应用容器

root@localhost:~$ docker stop determined_swanson  
determined_swanson

重启WEB应用容器

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

root@localhost:~$ docker start determined_swanson
determined_swanson

docker ps -l 查询最后一次创建的容器:
在这里插入图片描述

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

移除WEB应用容器

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

root@localhost:~$ docker rm determined_swanson 
determined_swanson

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网显示 IP 归属地,用上这个开源库,实现也太简单了

细心的小伙伴可能会发现,最近蘑菇新上线了 IP 属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的 IP 属地信息 动态显示IP属地 在蘑菇群聊中,也 可 以 展 示 IP 属 地,下面是小伙伴们在交流群中显…

【强化学习论文合集】十八.2019国际表征学习大会论文(ICLR2019)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

面试官:你觉得你最大的缺点是什么?

面试官:你觉得你最大的缺点是什么? 前言 相信百分之80的同学们都会被问到这个问题:你觉得你最大的缺点是什么? 这也是求职者一个充满恐惧的问题,特别是我们程序员,大家在与人沟通并没有我们与代码沟通这么得心应手,如果你没回…

网络请求工具wget和curl

一. wget命令 wget命令来自于英文词组”web get“的缩写,其功能是用于从指定网址下载网络文件。 wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件。 注意:不同busybox版本集成的wget命令,可能不…

统计检验分析

1. 正态分布检验 2. 统计检验 正态分布且方差齐非正态分布或方差不齐para test non-para testnon-pairedpaired2组 t-testWilcoxon rank-sum testWilcoxon signed-rank test3组及以上One way ANOVA Kruskal-Wallis testt-test: Paired t-test: 确定某个总体的成对测量值之间…

说说WM_DESTROY和WM_NCDESTROY的区别

在一个 Windows 窗口被销毁的时候,你会发现有两个比较类似的消息:WM_DESTROY和WM_NCDESTROY,那么,这俩兄弟之间有什么区别呢?今天就来讲讲。 不同之处在于,WM_DESTROY消息在窗口销毁序列的开头发送&#x…

MySQL执行计划误选索引及修改方案

MySQL的优化器 MySQL在执行查询语句时使用那个索引是由server层的优化器决定的。优化器的作用是找到一个最优的执行方案,用最小的代价去执行语句。由于MySQL使用预估的方式去选择索引,所以MySQL可能会出现选择索引出错的情况,无法命中最优索…

刘韧工作手册(2023年版)

刘韧于2022年9月22日为云算科技做内部演讲。由谭缘整理成文,李欣欣编辑,朱芳文审定。一、认知篇01 干中学,重复做。“学”是为了“习”,学到的东西是为了下一次习的时候,做得更好。“习”,是最终实践的成果…

WSL安装教程

wsl安装教程引言前期准备工作安装wsl第一步第二步 检测系统版本第三步 确定虚拟机特性第四步 下载Linux内核的更新包第五步 设置WSL 2作为默认版本第六步 选择Linux发行版本并设置Linux账号小TIPS引言 Windows Subsystem for Linux(简称WSL)是一个在Win…

大家都在画圣诞树,我们用代码敲一颗吧~圣诞树

前段时间发布的文章很多人问怎么操作的,今天具体说明一下:PS:如果需要下载可以点击左下角阅读全文下载代码使用更方便具体步骤如下:复制下面代码在电脑里面新建一个记事本,将代码复制到新建的记事本里保存记事本&#…

虚拟机网络连通性选择

做运维的朋友对于虚拟机这个概念应该不会陌生,这里不做讲解。今天主要想对虚拟机的网络连通性的选择方法做一个简单的介绍,如果是老人就没必要看了,此文章针对刚入门初次使用虚拟机进行测试、工作的小伙伴。 咱们常见的虚拟机平台软件有很多&…

【实时数仓】用户行为日志采集模块单机模式部署,Nginx介绍、安装和配置,采集模块集群部署并使用Nginx进行反向代理

文章目录一 日志采集模块1 打包单机部署(1)修改gmall2022-logger中的logback.xml配置文件(2)修改SpringBoot核心配置文件application.propeties(3)测试(4)程序运行流程2 Nginx&#…

Grafana 的介绍和安装

版本:9.3.1 介绍 Grafana是一款能够提供查询、告警和可视化指标、日志、链路跟踪的软件,并且提供了TSDB时序数据库用于存储数据。 一共有3个版本,Grafana OSS(开源版),Grafana Enterprise(企业…

【C++】红黑树

一.红黑树的概念与性质 1.概念 红黑树是二叉搜索数的一种, 相比于AVL树(二叉平衡搜索树)红黑树通过减少旋转的次数来进一步优化了查找效率, 在每个节点上增加一个存储位表示节点的颜色, Red or Black, 通过对任何一条从根到叶子的路径上各个节点着色方式的限制, 红黑树确保没…

亚马逊云科技re:Invent:创新永无止境,科技重塑未来

作为全球IT行业一年一度的科技盛宴,2022亚马逊云科技re:Invent全球大会吸引了来自世界各国的开发者与企业客户的高度关注,其中自然也包括了广大中国企业。作为全球云计算领域的风向标,本届大会究竟揭示了怎样的行业趋势?发布了哪些…

【超聚变】FusionServer1288H V6安装CentOS系统

【超聚变】FusionServer1288H V6安装CentOS系统1、创建Raid2、安装系统2.1.使用IBMC地址,登录web界面2.2.选择启动虚拟控制台2.3.挂载镜像2.4.选择启动盘2.5.安装系统2.6.选择英文安装2.7.时区选择上海(Asia/Shanghai)2.8.选择最小化安装&…

【Vue源码解析】mustache模板引擎

模板引擎什么是模板引擎实现 Scanner 类根据模板字符串生成 tokens在 index.js 引入 parseTemplateToTokens实现 tokens 的嵌套One More Thingtokens 结合数据解析为 dom 字符串定义 lookup 函数定义 renderTemplate 函数什么是模板引擎 模板引擎是将数据变为视图最优雅的解决…

如何清除chrome浏览器缓存

清除浏览器的缓存知识调用前言引入具体操作知识调用 文章中可能用到的知识点前端学习:浏览器缓存方式有哪些(http协议 websql indexDB cookie localstorage sessionstorage)如何查看Chrome浏览器的页面缓存内容【详细教程】 前言引入 上期文…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.1 簇点链路

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.1 簇点链路31.1.1 簇点链路31.1.2 快速入门31 限流规则 31.1 簇点链路 31.1.1 簇…

52、网络

目录 一、网络通信 二、网络 三、 ip地址 四、域名 五、端口号 六、网络通信协议 1、协议(tcp/ip) 2、TCP和UDP 七、InetAddress类 八、Socket 1、基本介绍: 2、TCP网络通信编程 3、UDP网络通信编程(了解即可&#xff0c…