linux上docker容器运行web应用简单介绍(二)

news2024/11/22 15:26:38

相关文章:

linux docker安装及报错处理_做测试的喵酱的博客-CSDN博客

一、mac 安装及使用docker_docker mac_做测试的喵酱的博客-CSDN博客

Docker 容器使用 | 菜鸟教程

linux应用docker基本使用(一)_做测试的喵酱的博客-CSDN博客 

一、 运行web 应用

使用 docker 构建一个 web 应用程序。

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

1、拉取镜像到本地

docker pull training/webapp

2、通过镜像,生成容器

docker run -d -P training/webapp python app.py

参数说明:

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

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

 

3、查看容器信息 docker ps 

[root@ecs-39233 ~]# docker ps
CONTAINER ID   IMAGE             COMMAND           CREATED          STATUS          PORTS                                         NAMES
0935de4f00f3   training/webapp   "python app.py"   30 seconds ago   Up 29 seconds   0.0.0.0:32768->5000/tcp, :::32768->5000/tcp   trusting_mclean
359b300378a6   ubuntu:15.10      "/bin/bash"       3 hours ago      Up 2 hours                                                    funny_poincare
[root@ecs-39233 ~]# 
 

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

4、访问web服务

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

http://124.70.87.136:32768/

 注意:

提前将我们云服务的端口32769放开。

 

 

1.1 启动容器时,指定端口 -p

[root@ecs-39233 ~]# docker run -d -p 8081:5000 training/webapp python app.py
3619a6d34eb39257cbb3fcf71cb4f536fd90c7535868f16a5f8cd034ae0c6c0e

docker ps查看正在运行的容器

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

http://124.70.87.136:8081/

二、网络端口的快捷方式 docker port

docker port 可以查看指定 (ID/name)容器的某个确定端口映射到宿主机的端口号。

来查看容器端口的映射情况。

[root@ecs-39233 ~]# docker port 3619a6d34eb3
5000/tcp -> 0.0.0.0:8081
5000/tcp -> [::]:8081
[root@ecs-39233 ~]# docker port trusting_mclean
5000/tcp -> 0.0.0.0:32768
5000/tcp -> [::]:32768

 

三、查看 WEB 应用程序日志

docker logs id/name  可以查看容器内部的标准输出。

[root@ecs-39233 ~]# docker logs -f 3619a6d34eb3
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
223.104.38.27 - - [05/Jul/2023 09:28:07] "GET / HTTP/1.1" 200 -
223.104.38.27 - - [05/Jul/2023 09:28:07] "GET /favicon.ico HTTP/1.1" 404 -
121.36.69.236 - - [05/Jul/2023 09:28:15] "GET / HTTP/1.1" 200 -
209.141.41.25 - - [05/Jul/2023 09:29:56] "CONNECT www.baidu.com:443 HTTP/1.1" 404 -

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

四、查看WEB应用程序容器的进程 docker top

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

[root@ecs-39233 ~]# docker top 3619a6d34eb3
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                6154                6135                0                   17:26               ?                   00:00:00            python app.py

五、检查 WEB 应用程序 docker inspect

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

docker inspect 3619a6d34eb3

六、停止 WEB 应用容器 docker stop

docker stop id/name

[root@ecs-39233 ~]# docker stop 3619a6d34eb3
3619a6d34eb3
[root@ecs-39233 ~]# docker stop trusting_mclean
trusting_mclean

 

七、重启WEB应用容器

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

[root@ecs-39233 ~]# docker start 3619a6d34eb3
3619a6d34eb3
docker ps -l 查询最后一次创建的容器:
[root@ecs-39233 ~]# docker ps -l
CONTAINER ID   IMAGE             COMMAND           CREATED          STATUS          PORTS                                       NAMES
3619a6d34eb3   training/webapp   "python app.py"   31 minutes ago   Up 26 seconds   0.0.0.0:8081->5000/tcp, :::8081->5000/tcp   exciting_leakey

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

八、移除WEB应用容器

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

runoob@runoob:~$ docker rm trusting_mclean  
trusting_mclean

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


                

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

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

相关文章

【设计模式】第十七章:状态模式详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章:单例模式 【设计模式】第二章:工厂模式 【设计模式】第三章:建造者模式 【设计模式】第四章:原型模式 【设计模式】第五章:适配器模式 【设计模式】第六章&…

ChatGPT+MidJourney 3分钟生成你的动画故事

chatgpt是真的火了,chatgpt产生了一个划时代的意义——自chatgpt起,AI是真的要落地了。 chatgpt能做的事情太多了,多到最初开发模型的程序员自己,也没法说得清楚chatgpt都能做啥,似乎只要你能想得到,它都有…

Linux内核代码中常用的数据结构

Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 链表 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链表所包含的元素可以动态创建并插入和删除。 链表的每个元素都是离散…

系统移植 kernel 移植 配置网卡IP NFS网络文件系统移植 7.4

给fs4412移植内核 Kernel(内核)是操作系统的核心组件,它负责管理计算机硬件和软件资源,提供对底层硬件的访问和控制,以及为应用程序提供运行环境。内核是操作系统的最底层,负责处理系统的各种任务和功能&a…

第二步:STM32F407ZGT6资源介绍

1.1 STM32F407ZGT6资源描述 内核: 32位 高性能ARM Cortex-M4处理器 时钟:高达168M,实际还可以超屏一点点 支持FPU(浮点运算)和DSP指令 IO口: STM32F407ZGT6: 144引脚 114个IO 大部分IO口都耐5V(模拟通道除外) …

Spring Security OAuth2.0(3):Spring Security简单入门

文章目录 前言一、Spring Security 介绍二、创建工程三、认证1. 认证页面2. 安全配置 四、授权 前言 Spring Security 快速入门。 本章代码已分享至Gitee:https://gitee.com/lengcz/security-spring-security 一、Spring Security 介绍 \qquad Spring Secutiry 是…

vue3中的setup方法

一、vue2中的定义变量和方法的写法 在介绍v3的setup之前&#xff0c;我们先来看看在v2中是如何定义变量和方法的 <template><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><button click"sayHello">说话…

openEuler Linux 光驱开启自动挂载

openEuler Linux 光驱开启自动挂载 创建光驱挂载目录 mkdir -p /mnt/cdrom 手动挂载光驱 但是系统重启后挂载失效 mount /dev/cdrom /mnt/cdrom取消光驱挂载 umount /mnt/cdrom光驱开机自动挂载 临时挂载光驱 mount /dev/cdrom /mnt/cdrom编写配置文件/etc/fstab vi /etc/fst…

【Distributed】分布式监控系统zabbix应用

文章目录 前言一、Zabbix基本概述1. Zabbix 的概念2. Zabbix 的工作原理3. Zabbix 6.0 新特性3.1 Zabbix 可以实现高可用3.2 Zabbix 新增监控系统 4. Zabbix 的构成5. Zabbix 的功能组件5.1 数据库5.2 Web 界面5.3 Zabbix Agent5.4 Zabbix Proxy5.5 Java Gateway 6. Zabbix 和 …

【macOS 系列】如何设置macos的软件、app随系统启动

如何设置app随系统启动 有些app可以在内部实现&#xff0c;如果没有&#xff0c;则需要在系统-偏好设置-用户与群组&#xff0c;切换到登录项&#xff0c;然后在下方可以添加或删除开机启动项。

[管理与领导-6]:新任管理第1课:管理转身--从技术业务走向管理,角色的转变

目录 第1章 管理从转变角色开始 1.1 什么是角色 1.2 角色定位 1.3 技术型与管理型人才差别&#xff1a;六大转变 1.4 不同角色的人能力要求 第2章 管理从定位角色迈步&#xff1a;管理者的四位 2.1 定位 2.1.1 辅助者 2.1.2 教练&#xff1a;以身作则&#xff0c;带领…

【数据结构与算法】树和二叉树课后习题

题目 题目1 知一棵树边的集合为 < I , M > , < I , N > , < E , I > , < B , E > , < B , D > , < A , B > , < G , J > , < G , K > , < C , G > , < C , F > , < H , L > , < C , H > , < A …

财务凭证替代退出类型不正确几个问题汇总

财务凭证替代退出类型不正确几个问题汇总 以上资料均来自网络&#xff0c;纯粹个人工作记录&#xff0c;如有意见请联系删除。 1、两种类型含义 c_exit_param_class. 传参数 代表完全凭证替代 c_exit_param_none. 不传参数 代表行项目替代 exits-name ‘ZFI27’. " …

wpf中DialogResult.Yes方法报错

原因&#xff1a;在WPF里DialogResult没有Yes或No的枚举取值了 所以应该这样写 private void Button_Click(object sender, RoutedEventArgs e) {   if (MessageBox.Show ("要退出程序吗?", "退出程序",MessageBoxButton.YesNo ) MessageBoxResult.Y…

MySQL数据库概述

文章目录 SQL语言的特点SQL的组成部分数据库基本概念数据库性质数据库系统数据库系统的组成部分数据库发展简史 SQL语言的特点 &#xff08;1&#xff09;功能一体化 &#xff08;2&#xff09;高度非过程化 &#xff08;3&#xff09;面向集合的操作方式 &#xff08;4&am…

企业利用bi商业智能工具有哪些改变呢?以瓴羊QuickBI为例

当下的趋势是数字化已经成为一股不可抗拒的力量&#xff0c;推动着全球各国社会经济的发展。在数字经济中&#xff0c;数据是核心基础&#xff0c;包括数据的收集、整合、分析和应用等各个方面。为了充分挖掘数据的价值&#xff0c;各种相关技术近年来得到了迅猛发展。在这些技…

MFC管理系统

文章目录 登录设置登录界面登录用户判断 界面设计嵌入对话框 添加列表添加员工添加按钮 完成添加员工删除员工修改员工信息修改 完成修改员工保存数据打开时显示读取内容全部代码 登录 设置登录界面 初始化窗口实列 添加控件变量 登录用户判断 void CLoginDlg::OnBnClickedB…

C语言程序环境和预处理

本章主要以图片和文字的形式给大家讲解 程序的翻译环境和程序的执行环境 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境&#xff0c;它用于实际执行代码 2. 详解编译…

visio常用功能

1.常规对象&#xff0c;鼠标左键操作进行旋转、下图旋转柄是鼠标左键拖动可以任意改变方向&#xff0c;改变大小&#xff08;长度、宽度、等比例&#xff09;。 2.注意&#xff1a;用大小和位置定量改变形状的大小和角度 在选中形状对象后&#xff0c;页面底部会出现该形状的大…

【Spring Boot】Spring Boot日志详情:基于lombok的日志输出

文章目录 1. 何为日志文件&#xff1f;2. 日志文件的作用3. 日志文件的基本使用3.1 Spring Boot中的日志3.2 自定义日志打印 4 日志级别4.1 日志级别的作用4.2 日志级别的分类4.3 日志级别的设置 5 日志持久化6 基于lombok的日志输出6.1 lombok 简单输出日志案例6.2 浅谈 lombo…