当前位置: 首页 > article >正文

【docker】命令之容器操作

一、前言

  在上篇博客介绍了关于如何从应用市场,下载镜像后,对镜像的相关操作了。这篇博客呢我们就要讲解我们把镜像下载下来了,启动这个镜像后,就是我们说的容器了,那么容器的具体操作又有那些呢?

二、容器操作命令

我们之前说过,每一个镜像启动后就是一个容器,而且每个容器都代表一个运行中的应用,对这些应用的相关命令操作如下:

1、具体命令

#运行一个新容器
docker run 容器名称

# 查看运行中的应用

docker ps

#停止容器
docker stop 容器ID
#启动容器
docker start 
#重启容器
docker restart 容器ID
#查看容器资源占用情况
docker stats 容器ID
#查看容器日志
docker logs 容器ID
#删除指定容器
docker rm 容器ID
#强制删除指定容器
docker rm -f 容器ID
# 后台启动容器
docker run -d --name mynginx nginx
# 后台启动并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 进入容器内部
docker exec -it mynginx /bin/bash

2、具体操作

①运行一个新容器
docker run nginx

981284be48914d2498a5c96bc2b43797.png

dd4d5df94cf64249ad45179032a2a136.png

② 查看运行中的应用

如果没有运行的应用,则使用该指令找不到应用信息

docker ps

230b694467694267914b976475c88413.png

docker ps -a(可以查看所有的容器不管是否在运行)

cd48b1cf32bc43b89a51a16570873adc.png

③停止容器
docker stop 容器ID

4e63b130fac94f4fa2cb58ad38662b7d.png

④启动容器
docker start 容器ID

docker restart 容器ID:表示不管容器是停止还是运行,都会重启一遍,具体操作和start用法相同。

0fe0a8c3e5134766b052ec33fb7431bb.png

⑤查看容器资源占用情况
docker stats 容器ID

c3945d77593c4e5b819bf6b76b90010f.png

⑥查看容器日志
docker logs 容器ID

ef3a00b5115b43e28eb49d70dac06526.png

⑦删除指定容器
docker rm 容器ID

强制删除指定容器
docker rm -f 容器ID

ps:注意这里删除的命令是rm 和 镜像删除的命令 rmi 是不同的)

6a7c7caa9a0742abaa57e34c26341b85.png

3、run命令细节

上面用的docker run 容器ID的方法可以,运行容器,但是如果我们想通过浏览器访问其对应的端口却访问不了,这里我们需要对我们的run命令做一些其他操作。

具体指令如下:

①后台启动容器(--name表示自己定义容器名称)
docker run -d --name mynginx(自己命名即可) nginx
②后台启动并暴露端口(-p 表示端口映射,80:80表示外部的服务器的端口80和容器内部的端口80进行映射)
docker run -d --name mynginx -p 80:80 nginx

3c2df9970ed74778b71ce184a22f7cfb.png

访问浏览器:

6e1b3071d9904c128bee1ee8c90789fd.png

来到nginx首页

799a946220aa49e4a5bb2ae43f54a26f.png

特别注意:对于我们外部服务器的端口是不可以重复的,容器内部的端口可以重复!

4、页面修改

当我们进入了Nginx的首页后如何修改里面的内容呢?

使用docker exec -it mynginx(自己定义的容器名称) /bin/bash进入容器内部

03450507803b4b899d084df033ca1903.png

docker_hub中nginx的默认静态数据所在位置

8bf0a4fc803c4c2d8196359b8ec3e7a3.png

再次访问浏览器,内容已经改变!

8f1955ceef684751be75f8e28c2b91f1.png

 

最后可以通过“exit”退出容器即可。

三、总结

   这部分我们介绍了容器中的相关命令操作,以及如何修改容器中的内容。后面我们将以我们修改好的这个mynginx为例,看如何将其保存下来,并分享到我们的docker_hub社区!

 


http://www.kler.cn/news/316803.html

相关文章:

  • C++:布尔类型,引用,堆区空间
  • 力扣232:用栈实现队列
  • 【Proteus仿真】基于51单片机的宠物喂食系统设计
  • JSON合并工具
  • JVM-类加载器的双亲委派模型详解
  • 前后端数据交互 笔记03(get和post方法)
  • 使用 Azure Functions 开发 Serverless 应用:详解与实战
  • LeetCode 1014. 最佳观光组合 一次遍历数组,时间复杂度O(n)
  • 【matlab】将程序打包为exe文件(matlab r2023a为例)
  • Linux文件IO(三)-Linux系统如何管理文件
  • 【基础知识】网络套接字编程
  • QT-MOC元对象系统详解
  • 【小程序】微信小程序课程 -1 安装与配置
  • 【2025】基于微信小程序的人工智能课程学习平台的设计与实现(源码+文档+解答)
  • 职业技能大赛-自动化测试笔记分享
  • while语句
  • CANdela/Diva系列8--如何生成0x27服务解锁的DLL
  • MySQL 数据库课程设计详解与操作示例
  • Java : 图书管理系统
  • ArcGIS Pro SDK (十四)地图探索 6 图形与工具
  • AIGC7: 高通骁龙AIPC开发者沙龙过程记录A
  • 力扣刷题之2398.预算内的最多机器人数目
  • Shelly实测天工的音乐创作功能,写了一首歌,来听听效果
  • 学习笔记JVM篇(四)
  • python教程修订版
  • Redis 集群策略详解
  • oracle查询历史操作记录
  • 行为型设计模式的全面解析
  • 中小企业体系技术抽象沉淀-异地灾备篇
  • Android中如何调用DLL文件