【docker】命令之容器操作

news/2024/9/22 2:46:18/

一、前言

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

二、容器操作命令

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

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.ppmy.cn/news/1528661.html

相关文章

ResNeXt学习

1. 模型介绍 ResNeXt是由何凯明团队在2017年CVPR会议上提出来的新型图像分类网络。ResNeXt是ResNet的升级版,在ResNet的基础上,引入了cardinality的概念,类似于ResNet,ResNeXt也有ResNeXt-50,ResNeXt-101的版本。那么…

武汉凯迪正大—变压器空负载特性参数测试仪 变压器容量及损耗参数测试仪

KDBR-N 变压器容量测试仪具有体积小巧、操作简单、使用方便等优点,并升级了内部处理器、数据采集系统、国标数据,使仪器可用范围更宽,测试精度更高。 KDBR-N 变压器容量测试仪包含了变压器容量、变压器空载损耗、变压器负载损耗及其代号水平…

JVM堆介绍

堆 堆是Java虚拟机中用于存储对象实例和数组的内存区域,它是Java程序运行时数据区的核心部分,负责存储和管理几乎所有的对象数据。 一、JVM堆介绍 今天,我们将深入探索Java堆的奥秘。它是Java虚拟机中一个非常关键的内存区域。让我们一起揭…

Windows系统通过部署wsl + Goland进行跨平台开发

1.背景 近期项目中因为用到了 Golang库中的 "log/syslog" 包,而这个包是禁止在windows平台上编译的. 并且在windows环境上开发也会有诸多不便,如执行makefile文件的make命令,本地开发环境中docker,etcd,redis的搭建等等,而这些通过部署wsl去搭建一个linux环境就很可以…

[数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3548 标注数量(xml文件个数):3548 标注数量(txt文件个数):3548 标注…

linux-网络相关概念

一、tcp/ip网络模型 tcp/ip网络模型包含4层(应用、传输、internet、链路),描述不同协议如何进行互操作,以便计算机通过互联网将流量从一台计算机发送到另一台计算机 应用applicationo层: 应用程序,常见应用包括ssh、https、nfs或cifs、smtp等 传输tr…

吉首大学--23级题目讲解

7-1 单链表基本操作 在 C/C 中,.(点)和 ->(箭头)运算符用于访问结构体或类的成员,但它们的使用场景不同。 1. . 运算符 . 运算符用于访问结构体或类的成员,通过对象或结构体变量直接访问。…

嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)

一、概述 线程是一种轻量级的并发执行的机制。线程是进程中的一个实体,它执行在同一进程的上下文中,共享同一内存空间,但拥有独立的栈空间。 C语言的线程使用pthread库实现,通过包含头文件 pthread.h 来使用相关的函数和数据类型 …