Docker 容器高级操作

news/2024/12/5 9:31:09/

Docker容器高级操作

Docker容器创建、停止、启动、删除等基础操作上篇已述,然Docker容器被广大开发者青睐,不可能只有如此简单的功能,必有高阶功法。那么接下来 让我们一同走进容器操作的高级篇,领略其高级操作的魅力

查看容器

docker ps -a | grep tomcat

[root@tudou tudou]# docker ps -a | grep tomcat
e3a88ea4ffb9  tomcat:8.0   "catalina.sh run"   13 seconds ago   Up 12 seconds   8080/tcp   tudou-tomcat
[root@tudou tudou]# 

可以看到有 8080/tcp 但是却无法访问到tomcat的主界面???

image

原因 : 这里是容器的端口,并不是宿主机的端口,需要映射到宿主机方可访问。

端口映射

docker run -d -p 8080:8080/tcp–name tudou-tomcat tomcat:8.0

  • -p:端口映射操作
  • 8080:8080/tcp:宿主机端口:容器端口/协议。(协议可不 8080:8080,默认为 tcp
  • -P(大写):在宿主机上随机为应用分配一个49000~49900内未被使用的端口,并映射到容器开放的网络端口。

注意:通常采用-p进行指定端口映射,多个则是多个-p

[root@tudou tudou]# docker rm -f tudou-tomcat
tudou-tomcat 
[root@tudou tudou]# docker run -d -p 8080:8080/tcp --name tudou-tomcat tomcat:8.0
5bc5b04a6f5aacbd8b1b822527ccb78357071a98c90bfdd56c87bfa2709cdfea
[root@tudou tudou]# docker ps -a | grep tomcat
bbc579ce6fec  tomcat:8.0  "catalina.sh run"  6 seconds ago  Up 5 seconds  0.0.0.0:8080->8080/tcp  tudou-tomcat
[root@tudou tudou]#

发现容器端口映射变成了 0.0.0.0:8080->8080/tcp, 这就意味着容器的 8080 已经映射到宿主机的 8080

[root@tudou tudou]# netstat -ano| grep 8080
tcp6       0      0 :::8080        :::*         LISTEN      off (0.00/0/0) 

经检查发现。宿主机的 8080 端口处于监听状态,那么此时即可访问 Tomcat首页

image

查看端口

docker port idOrName

  • port:查看端口操作。
  • idOrName : 容器名称或者容器ID。
[root@tudou tudou]# docker port tudou-tomcat
8080/tcp -> 0.0.0.0:8080
# 容器端口 ->  宿主机端口

查看进程

docker top idOrName

  • top:查看进程操作。
  • idOrName: 容器名称或者容器ID。
[root@tudou tudou]# docker top tudou-tomcat
UID      PID      PPID     C     STIME     TTY    TIME             CMD
root     15837    15820    0     12:17     ?      00:00:03        /docker-java-home/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

可以清楚看到,容器内跑的进程详细信息 用户 进程ID 执行命令 等等。

文件挂载 (可用来动态修改容器内文件内容立即生效)

docker run -d -p 8080:8080/tcp -v /home/tudou/tudou:/usr/local/tomcat/webapps/ --name tudou-tomcat tomcat:8.0

  • -v:容器挂载卷:-v 主机目录:容器目录(将宿朱继文件或者目录挂载到容器内
注意:1. 容器目录不可以为相对路径2. 宿主机目录如果不存在,则会自动生成
# 创建/home/tudou/tudou
[root@tudou tudou]# pwd
/home/tudou/tudou
# 再创建tudou,之下创建index.html
[root@tudou tudou]# cat tudou/index.html 
<html>
<head>
<title>index</title>
</head>
<body style="text-align:center"&

http://www.ppmy.cn/news/984805.html

相关文章

如何将数字高程模型加载到地图中查看,并进行在线编辑和分享?

四维轻云是一款地理空间数据在线管理平台&#xff0c;具有地理空间数据的在线管理、查看及分享等功能。在四维轻云平台中&#xff0c;用户可以将数据加载至地图中查看&#xff0c;并使用渲染、视图、标绘等工具。 现在&#xff0c;小编就来告诉大家如何将数字高程模型加载到地…

DevOps-Git

DevOps-Git 版本控制软件提供完备的版本管理功能&#xff0c;用于存储&#xff0c;追踪目录&#xff08;文件夹&#xff09;和文件的修改历史。版本控制软件的最高目标是支持公司的配置管理活动&#xff0c;最终多个版本的开发和维护活动&#xff0c;即使发布软件。 git安装 h…

深度学习入门(二):神经网络整体架构

一、前向传播 作用于每一层的输入&#xff0c;通过逐层计算得到输出结果 二、反向传播 作用于网络输出&#xff0c;通过计算梯度由深到浅更新网络参数 三、整体架构 层次结构&#xff1a;逐层变换数据 神经元&#xff1a;数据量、矩阵大小&#xff08;代表输入特征的数量…

Node.js学习笔记-02

三、node的异步I/O 四、异步编程 1、函数式编程 高阶函数 函数可以作为参数或者返回值。 偏函数用法 偏函数用法是指创建一个调用另外一个部分——参数或变量已经预置的函数——的函数的用法。 举个例子&#xff1a;在JavaScrip中进行类型判断时&#xff0c;我们通常会进…

【linux 结束pts/1踢人踢除另一个终端】

centos7上误执行了个命令&#xff0c;导致一直刷屏&#xff0c;强制CTRLC无法正常退出&#xff0c;一直出现如下&#xff1a; 网上搜索通过ctrlD&#xff0c;q均无法正常退出&#xff0c; 不想强行关掉&#xff0c;通过&#xff1a;who命令查看均用户&#xff1a; who mshns…

什么是消息队列?

目录 什么是消息队列&#xff1f; 消息队列中间件 消息队列的应用场景 异步处理 系统解耦 流量削峰 日志处理 什么是消息队列&#xff1f; 消息队列&#xff0c;英文名&#xff1a;Message Queue&#xff0c;经常缩写为MQ。从字面上来理解&#xff0c;消息队列是一种用来…

郑州Sectigo DV通配符SSL证书

我们在浏览器访问网页时或许不会注意到网站是http还是https链接&#xff0c;但是一定能注意到浏览器给我们展示的“不安全”警告&#xff0c;警告访问者网站未加密&#xff0c;访问网站会有泄露隐私的危险。SSL证书能将网站链接由http转为https&#xff0c;对网站传输数据加密&…

有状态的应用如何部署 1?

前面我们分享很多关于 K8S 的内容&#xff0c;有没有发现 pod 都是无状态&#xff0c;RS / RC 管理的 pod 也是无状态的&#xff0c;我们可以任意删除一个 pod&#xff0c;副本管理器又会马上给我们创建一个 pod 那么如果咱们的这个 pod 是有挂载持久卷的&#xff0c;那么我们…