【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
文章目录
- 【Linux篇】Docker 启动和停止的精准掌舵:操控指南
- 前言
- docker基本命令
- 1. 帮助手册
- 2. 指令介绍
- 常用命令
- 1. 查看镜像
- 2. 搜索镜像
- 3. 拉取镜像
- 4. 删除镜像
- 5. 从Docker Hub拉取
- 容器的相关命令
- 1. 查看容器
- 2. 创建与启动容器
- 3. 查看镜像
- 4. 启动容器
- 5. 查看容器
- 6. 退出当前容器
- 创建后台容器
- 1. 守护式方式创建容器
- 2. 进入守护式容器
- 停止与启动容器
- 1. 停止单个容器
- 2. 启动单个容器
- 3.文件拷贝
- 4. 目录挂载
- 5. 查看容器ip地址
- 删除容器
- 1. 删除指定的容器
- 2. 查看正在运行的容器
- 3. 查看所有的容器
- 结语
【Linux篇】Docker 启动和停止的精准掌舵:操控指南
💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!
👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!
🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!
前言
docker是一个开源的应用容器引擎,基于go语言开发。docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,也可以是实现虚拟化。相互之间不会有任何接口,容器的开销性能极低。
本文我们来介绍docker的使用方法
docker基本命令
操作描述 | 命令 |
---|---|
启动docker | systemctl start docker |
停止docker | systemctl stop docker |
重启docker | systemctl restart docker |
查看docker状态 | systemctl status docker |
开机启动 | systemctl enable docker |
查看docker概要信息 | docker info |
查看docker帮助文档 | docker --help |
1. 帮助手册
指令: docker --help
2. 指令介绍
操作命令 | 操作描述 |
---|---|
cp | 在本地文件系统和容器之间进行文件或者文件夹拷贝 |
exec | 登录一个容器,使命令行操作正在运行的容器 |
images | 镜像的集合查询 |
ps | 容器列表 |
pull | 下载镜像 |
restart | 重启一个或多个容器 |
rm | 删除一个或多个容器 |
rmi | 删除一个或多个镜像 |
run | 创建一个容器并运行起来 |
save | 导出镜像到一个文件(tar )中 |
search | 搜索镜像 |
start | 启动一个或多个已经停止的容器 |
stop | 停止一个或多个正在运行的容器 |
常用命令
镜像的相关命令
1. 查看镜像
[root@CentOS02 docker]# docker images
REPOSITORY :镜像名称
TAG :镜像标签
IMAGE ID :镜像ID
CREATED :镜像的创建日期(不是获取该镜像的日期)
SIZE :镜像大小
这些镜像都是存储在docker的 /var/lib/docker目录下
2. 搜索镜像
[root@CentOS02 docker]# docker search tomcat
NAME :仓库名称
DESCRIPTION :镜像描述
STARS :用户评价,反应一个镜像的受欢迎程度
OFFICIAL :是否是官方
AUTOMATED:自动构建,表示该镜像有docker Hub自动构建流程创建
3. 拉取镜像
拉取镜像就是从docker仓库下载镜像到本地,镜像名称格式化为【名称:版本号】,如果版本号不指定则是最新版本
命令:docker pull 镜像名称
[root@CentOS02 docker]# docker pull jwilder/nginx-proxy
下载一个nginx的镜像,需要注意:如果下载的时候,不指定版本,会下载最新版本
刚刚下载的镜像通过docker images就可以查看
[root@CentOS02 docker]# docker images
4. 删除镜像
可以按照镜像id删除镜像,命令如下:docker rmi 镜像ID
[root@CentOS02 docker]# docker rmi 6cd25f82a14b删除多个镜像
删除单个镜像(-f 强制删除):docker rmi -f 镜像ID
删除多个镜像:docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除所有镜像:docker rmi -f $(docker images -qa)
5. 从Docker Hub拉取
docker hub是Docker官方维护的一个公共仓库,其中已经包括了数量超过2650000的镜像;大部分需求都可以通过在Docker Hub中直接下载镜像来实现。
下载tomcat 直接粘贴
[root@CentOS02 ~]# docker pull tomcat
容器的相关命令
1. 查看容器
查看正在运行的容器 docker ps
查看所有容器 docker ps -a查看所有的容器 也就是相当于all
查看最后一次运行的容器 docker ps -l
查看停止的容器 docker ps -f status=exited
2. 创建与启动容器
什么是宿主机?
就是主机,这个概念是相对子机而言的,比如你安装有虚拟机的话,那么相对于虚拟机而言,你正在使用的计算机就是宿主机,虚拟机是你安装在主机上的,必须在主机上才能运行,主机就是一个宿主机。
创建容器常用的参数:
创建容器命令:docker run
-i :表示运行容器
-t :表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端
–name:为创建的容器命名
-v :表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上修改,然后共享到容器上。
-d :在run后面加上-d参数,则会创建一个守护容器在后台运行
-p :表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
(1)交互式创建容器
docker run -it --name=容器名称:标签 /bin/bash
比如:docker run -it --name=mycentos centos:7 /bin/bash 下面用到
docker run :表示创建容器
-it : 表示运行容器并进入它的命令行
–name=mycentos : 给当前容器命名
centos:7 :使用该镜像创建
/bin/bash :放在镜像后面的是命令,这里我们希望有一个交互式的shell. 因此用的就是/bin/bash
在software中新建dockerTar 新建software
需要执行yum -y install lrzsz命令进行安装。
安装rz进行上传文件
先上传 centos.tar
加载镜像
[root@CentOS02 dockerTar]# docker load -i centos.tar
3. 查看镜像
[root@CentOS02 dockerTar]# docker images
4. 启动容器
[root@CentOS02 dockerTar]# docker run -it --name=mycentos7 centos:7 /bin/bash
创建好容器,并且已经进入到容器内部了,可以直接观察前面中括号里面的内容发现,跟容器之前的不一样了,
并且通过dir命令,会发现,其实容器内部也是一个centos,我们可以把每个容器都看成一个小电脑或者服务器
[root@2aa51717d3b5 /]# dir
5. 查看容器
重新开了一个新的会话,查看刚刚创建的容器是否已经有了
查看正在运行的容器 docker ps
[root@CentOS02 ~]# docker ps
6. 退出当前容器
: exit 退出
退出之后 ,容器也退出了,没有删除
创建后台容器
//docker run -id --name=mycentos2 cnetos:7
1. 守护式方式创建容器
创建一个守护式容器;
如果对于一个长期运行的容器来说,我们可以创建一个守护式容器。
命令如下(容器名称不能重复):守护容器可以理解成在后台运行的容器
守护式容器和交互式容器的创建方式区别:
① -it 换成-id
② 去掉后面的 /bin/bash
docker run -id --name=容器名称 镜像名称:标签
比如:docker run -id --name=mycentos7_2 centos:7
[root@CentOS02 dockerTar]# docker run -id --name=mycentos7_2 centos:7
通过docker ps查看容器已经是运行的状态
2. 进入守护式容器
docker exec -it 容器名称(或者容器ID)/bin/bash
比如:docker exec -it mycentos7_2 /bin/bash
[root@CentOS02 dockerTar]# docker exec -it mycentos7_2 /bin/bash
已经进入到容器内部了,如果现在退出exit,然后查看容器的docker ps是否还在后台运行
[root@CentOS02 dockerTar]# docker exec -it mycentos7_2 /bin//bash
关闭容器
换一个窗口
停止与启动容器
先通过docker ps 查看正在运行的容器
1. 停止单个容器
如果你要停止一个正在运行的 Docker 容器,可以使用以下命令:
docker stop [容器名称或容器ID]
docker stop [容器名称或容器ID]
例如,有一个名为 my_docker的容器,要停止它,可以执行:
docker stop my_docker
或者如果知道容器的 ID(假设容器 ID 是 abc123def456),则可以这样执行:
docker stop abc666
2. 启动单个容器
要启动一个已经停止的 Docker 容器,可以使用以下命令:
docker start [容器名称或容器ID]
比如要启动之前停止的名为 my_container 的容器:
docker start my_docker
若通过容器 ID 启动(假设容器 ID 为 abc123def456):
docker start abc666
3.文件拷贝
我们需要在容器内部安装一个软件,软件首选需要有安装包,我们就需要把安装包拷贝到容器内。我们通常的操作是先把文件上传到宿主机,然后我们在将文件从宿主机拷贝到容器内的某个目录下面进行安装。
将linux宿主机中的文件拷贝到容器内可以使用命令
如果我们需要将文件拷贝到容器内可以使用cp命令
docker cp 需要拷贝到的文件或目录 容器名称:容器目录
例如:docker cp anacods-ks.cfg mycentos2:/usr/local
拷贝一个文件到mycentos2的/usr/local/文件下面,拷贝完成之后,删除文件,然后在mycentos2拷贝过来
在~目录下面就有此文件
创建文件
[root@localhost ~]# touch anaconda-ks1.cfg[root@CentOS02 ~]# docker cp anaconda-ks1.cfg mycentos7:/root/mytest
4. 目录挂载
我们可以创建容器的时候,将宿主机的目录与容器的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而影响容器。
创建容器 添加-v参数 后边为 宿主机目录:容器目录, 例如:
创建并启动容器 mycentos7,并挂载linux中/root/myDocker/ 目录到容器的/root/myDocker;
也就是在linux中的/root/myDocker/中操作相当于对容器相应目录操作
docker run -di --name=容器的名字 -v /root/myDocker:/root/myDocker centos:7
[root@CentOS02 ~]# docker run -id --name=mycentos7_3 -v /root/myDocker/:/root/myDocker centos:7[root@localhost ~]# docker exec -it mycentos7_3 /bin/bash[root@219d0ac1a7a1 /]# cd /root/
[root@219d0ac1a7a1 ~]# ll
total 4
-rw-------. 1 root root 3416 Nov 13 2020 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jun 3 11:14 myDocker
通过docker ps 查看正在运行的容器,在创建容器并且进行目录挂载,然后再通过docker ps查看刚刚创建的容器是否已经创建
[root@localhost ~]# cd /root/myDocker/
[root@localhost myDocker]# ll
总用量 0
进入到myDocker 目录,通过dir查看是否有文件,通过vim test,创建一个文件,进入test文件,随便输入一些数据
[root@CentOS02 ~]# cd /root/myDocker/
[root@CentOS02 myDocker]# vi test
hellolinux
进入目录随便输入一些数据,退出保存
登录容器,查看刚刚输入的内容
[root@CentOS02 ~]# docker exec -it mycentos7_3 /bin/bash
进入容器查看目录
[root@f26442fb12c0 /]# cd /root/
[root@f26442fb12c0 ~]# cd myDocker/
[root@f26442fb12c0 myDocker]# ll
total 4
-rw-r--r--. 1 root root 9 Jun 27 06:07 test
[root@f26442fb12c0 myDocker]# cat test
dskjkkll
如果你共享的是多级目录,可能会出现权限不足提示。
这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true
来解决挂载的目录没有权限问题
5. 查看容器ip地址
我们可以通过以下命令查看容器运行的各种数据
docker inspect 容器名称 (容器ID)
[root@CentOS02 myDocker]# docker inspect mycentos7_3
在linux宿主机下查看mycentos7的ip
通过inspect可以查看的信息太多,如果想单纯有针对性的查看某个信息,也可以直接执行下面的命令直接输出IP地址
先执行命令再进行下面ifconfig
[root@f26442fb12c0 ~]# yum -y install net-toolsifconfig
删除容器
1. 删除指定的容器
docker rm 容器名称(容器ID)
docker rm mycentos7
2、删除容器的时候,如果容器在运行,会报错,必须先停止容器
2. 查看正在运行的容器
docker ps
删除正在运行的容器
docker rm mycentos7
停止容器
docker stop mycentos7
3. 查看所有的容器
查看所有的容器,看看是否有mycentos7
docker ps -a
删除mycentos7容器
docker rm mycentos7
删除完之后,在查看mycentos7容器是否还存在
docker ps -a
也可以使用-f参数进行强制删除:docker rm -f 容器名称(容器ID)
结语
意气风发,漫卷疏狂
学习是成长的阶梯,每一次的积累都将成为未来的助力。我希望通过持续的学习,不断汲取新知识,来改变自己的命运,并将成长的过程记录在我的博客中。
如果我的博客能给您带来启发,如果您喜欢我的博客内容,请不吝点赞、评论和收藏,也欢迎您关注我的博客。
您的支持是我前行的动力。听说点赞会增加自己的运气,希望您每一天都能充满活力!
愿您每一天都快乐,也欢迎您常来我的博客。我叫意疏,希望我们一起成长,共同进步。
我是意疏 下次见!
相关文章:

【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
文章目录 【Linux篇】Docker 启动和停止的精准掌舵:操控指南前言docker基本命令1. 帮助手册 2. 指令介绍 常用命令1. 查看镜像2. 搜索镜像3. 拉取镜像4. 删除镜像5. 从Docker Hub拉取 容器的相关命令1. 查看容器2. 创建与启动容器3. 查看镜像4. 启动容器5. 查看容器…...

Cursor vs VSCode:主要区别与优势分析
Cursor - The AI Code Editor 1. AI 集成能力 Cursor的优势 原生AI集成: # Cursor可以直接通过快捷键调用AI # 例如:按下 Ctrl K 可以直接获取代码建议 def complex_function():# 在这里,你可以直接询问AI如何实现功能# AI会直接在编辑器中…...

从单体到微服务:如何借助 Spring Cloud 实现架构转型
一、Spring Cloud简介 Spring Cloud 是一套基于 Spring 框架的微服务架构解决方案,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。 Spring Cloud 提供了诸如服务发现、配置管理、负载均衡、断路器、消息总线…...

RocketMq基础学习+SpringBoot集成
学习贴:参考https://blog.csdn.net/zhiyikeji/article/details/138286088 文章目录 普通消息顺序消息延迟消息批量消息事务消息 SpringBoot整合RocketMQ 3.1 NameServer NameServer是一个简单的路由注册中心,支持Topic和Broker的动态注册和发现。作用主…...

分布式cap
P(分区安全)都能保证,就是在C(强一致)和A(性能)之间做取舍。 (即立马做主从同步,还是先返回写入结果等会再做主从同步。类似的还有,缓存和db之间的同步。&am…...

mybatis-xml映射文件及mybatis动态sql
规范 XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)。 XML映射文件的namespace属性为Mapper接口全限定名一致。 XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致…...

计算机网络复习——概念强化作业
物理层负责网络通信的二进制传输 用于将MAC地址解析为IP地址的协议为RARP。 一个交换机接收到一帧,其目的地址在它的MAC地址表中查不到,交换机应该向除了来的端口外的所有其它端口转发。 关于ICMP协议,下面的论述中正确的是ICMP可传送IP通信过程中出现的错误信息。 在B类网络…...

用友BIP与旺店通数据集成方案解析
用友BIP与旺店通企业奇门的供应商集成同步方案 在现代企业的数据管理中,跨平台的数据集成是实现高效业务运作的关键环节。本文将分享一个实际案例:如何通过轻易云数据集成平台,将用友BIP系统中的供应商数据无缝对接到旺店通企业奇门…...

string类函数的手动实现
在上一篇文章中,我们讲解了一些string类的函数,但是对于我们要熟练掌握c是远远不够的,今天,我将手动实现一下这些函数~ 注意:本篇文章中会大量应用复用,这是一种很巧妙的方法 和以往一样,还是…...

Oceanbase离线集群部署
准备工作 两台服务器 服务器的配置参照官网要求来 服务器名配置服务器IPoceanbase116g8h192.168.10.239oceanbase216g8h192.168.10.239 这里选oceanbase1作为 obd机器 oceanbase安装包 选择社区版本的时候自己系统的安装包 ntp时间同步rpm包 联网机器下载所需的软件包 …...

transformers生成式对话机器人
简介 生成式对话机器人是一种先进的人工智能系统,它能够通过学习大量的自然语言数据来模拟人类进行开放、连贯且创造性的对话。与基于规则或检索式的聊天机器人不同,生成式对话机器人并不局限于预定义的回答集,而是可以根据对话上下文动态地…...

WPF中的VisualState(视觉状态)
以前在设置控件样式或自定义控件时,都是使用触发器来进行样式更改。触发器可以在属性值发生更改时启动操作。 像这样: <Style TargetType"ListBoxItem"><Setter Property"Opacity" Value"0.5" /><Setter …...

C#设计模式--状态模式(State Pattern)
状态模式是一种行为设计模式,它允许对象在其内部状态发生变化时改变其行为。这种模式的核心思想是将状态封装在独立的对象中,而不是将状态逻辑散布在整个程序中。 用途 简化复杂的条件逻辑:通过将不同的状态封装在不同的类中,可…...

〔 MySQL 〕索引
目录 1. 没有索引,可能会有什么问题 2. 认识磁盘 MySQL与存储 先来研究一下磁盘: 在看看磁盘中一个盘片编辑 扇区 定位扇区编辑 结论 磁盘随机访问(Random Access)与连续访问(Sequential Access) 3. MySQL 与磁盘交互基本单位 4. 建立共识…...

计算机网络研究实训室建设方案
一、概述 本方案旨在规划并实施一个先进的计算机网络研究实训室,旨在为学生提供一个深入学习、实践和研究网络技术的平台。实训室将集教学、实验、研究于一体,覆盖网络基础、网络架构、网络安全、网络管理等多个领域,以培养具备扎实理论基础…...

韩企研学团造访图为科技:共探人工智能创新前沿
今日,一支由韩国知名企业研学专家组成的代表团莅临图为科技深圳总部,展开了一场深度技术交流与研讨活动。 此次访问旨在通过实地探访中国领先的科技企业,促进中韩两国在科技创新领域的深入合作与交流。 韩国游学团合影 图为科技作为一家在人…...

html button 按钮单选且 高亮
<DIV class"middle"> <div class"containerTarget"> <span class"hover-target1" οnclick"btn(1);">韵达 </span> <span class"hover-target2" οnclick"btn(2);">中通 </span…...

图片上传HTML
alioss sky:jwt:# 设置jwt签名加密时使用的秘钥admin-secret-key: itcast# 设置jwt过期时间admin-ttl: 7200000# 设置前端传递过来的令牌名称admin-token-name: tokenalioss:endpoint: ${sky.alioss.endpoint}access-key-id: ${sky.alioss.access-key-id}access-key-secret: $…...

C++学习-函数
C 函数 目录 函数默认参数引用传参函数重载 数量不同类型不同 内联函数 函数默认参数 #include<iostream>using std::cout; using std::endl;int power(int n, int x2); // x2 是默认参数int main() {cout << power(5) << endl; // 没有传 x 的值&#x…...

spring boot 测试 mybatis mapper类
spring boot 测试 mybatis mapper类 针对 mybatis plus不启动 webserver指定加载 xml 【过滤 “classpath*:/mapper/**/*.xml” 下的xml】, mapper xml文件名和mapper java文件名称要一样,是根据文件名称过滤的。默认情况加载和解析所有mapper.xml 自定义 MapperT…...

远程游戏新体验!
在这个数字化的时代,游戏已经不仅限于家里的电视或书房的电脑了。远程游戏,也就是通过远程控制软件在不同地点操作游戏设备,给玩家带来了前所未有的自由和灵活性。RayLink远程控制软件,凭借其出色的性能和专为游戏设计的功能&…...

Let up bring up a linux.part2 [十一]
之前的篇幅中我们已经将 Linux 内核 bringup 起来了,不知道大家有没有去尝试将根文件系统运行起来,今天我就带领大家完成这个事情,可以跟着下面的步骤一步步来完成: 在这里我们使用 busybox 构建 rootfs: 下载 busyb…...

调用大模型api 批量处理图像 保存到excel
最近需要调用大模型,并将结果保存到excel中,效果如下: 代码: import base64 from zhipuai import ZhipuAI import os import pandas as pd from openpyxl import Workbook from openpyxl.drawing.image import Image from io i…...

使用 Flownex 模拟热环境对原油运输的影响
石油和天然气行业经常使用管道仿真来模拟原油的流动。为了准确估计管道容量,必须考虑环境对管道的热影响以及环境温度如何影响油品特性。本博客介绍了如何通过将传热元件集成到管道流网中,以及使用新的工作液材料 Flownex 来模拟各种传热机制。 使用 Fl…...

【WRF-Urban】WPS中有关Urban的变量设置
【WRF-Urban】WPS中有关Urban的变量设置 地理数据源的配置WRF-Urban所需静态地理数据1、LANDUSE:包含城市地表分类的土地利用数据。2、URB_PARAM:城市参数数据集。3、FRC_URB2D:城市覆盖度数据集WRF默认设置(美国)数据集1-National urban dataset in China NUDC(中国)数…...

Socket编程-tcp
1. 前言 在tcp套接字编程这里,我们将完成两份代码,一份是基于tcp实现普通的对话,另一份加上业务,client输入要执行的命令,server将执行结果返回给client 2. tcp_echo_server 与udp类似,前两步࿱…...

Redis 之持久化
目录 介绍 RDB RDB生成方式 自动触发 手动触发 AOF(append-only file) Redis 4.0 混合持久化 Redis主从工作原理 总结 介绍 Redis提供了两个持久化数据的能力,RDB Snapshot 和 AOF(Append Only FIle)…...

视频监控汇聚平台:Liveweb安防监控平台实现接入监控视频集中管理方案
随着各行业数字化转型的不断推进,视频监控技术在行业内的安防应用及管理支撑日益增多。然而,由于前期规划不清晰、管理不到位等问题,视频监管系统普遍存在以下问题: 1. 各部门单位在视频平台建设中以所属领域为单位,导…...

ABAP - 系统集成之SAP的数据同步到OA(泛微E9)服务器数据库
需求背景 项目经理说每次OA下单都需要调用一次SAP的接口获取数据,导致效率太慢了,能否把SAP的数据保存到OA的数据库表里,这样OA可以直接从数据库表里获取数据效率快很多。思来想去,提供了两个方案。 在集群SAP节点下增加一个SQL S…...

uniapp使用ucharts修改Y、X轴标题超出换行
找到ucharts里面的u-charts.js。 Y轴的话找到drawYAxis方法。然后找到方法里面绘制文字的context.fillText方法。先把这个代码注释掉,然后加上下面代码 let labelLines item.split(\n); let currentY pos yAxisFontSize / 2 - 3 * opts.pix; labelLines.forEac…...