云原生Docker容器管理

目录

docker容器的管理

容器创建

 查看容器的运行状态

启动容器

创建并启动容器 

终止容器运行

 删除容器

 容器的进入

 查看容器详细信息

复制到容器中

从容器复制文件到主机

容器的导出与导入

导出

 导入


相当于一个进程,性能接近于原生,几乎没有损耗;

docker容器在单台主机上支持的数量成百上千;

容器与容器之间相互隔离;

镜像是创建容器的基础,可以理解镜像为一个压缩包

docker容器的管理

容器创建

就是将镜像加载到容器的过程。
新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。格式:docker create [选项] 镜像
常用选项:
-i:让容器开启标准输入接受用户输入命令
-t:让 Docker 分配一个伪终端 tty
-it :合起来实现和容器交互的作用,运行一个交互式会话 shell docker create -it nginx:latest /bin/bash

 查看容器的运行状态

ocker ps -a			#-a 选项可以显示所有的容器CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS    PORTS     NAMES
a870532aff89   nginx:latest   "/docker-entrypoint.…"   10 seconds ago   Created             boring_mirzakhani容器的ID号	   加载的镜像     运行的程序               创建时间       当前的状态  端口映射  名称

启动容器

docker start 容器的ID/名称
docker start 8b0a7be0ff58
docker ps -a

创建并启动容器 

可以直接执行 docker run 命令, 等同于先执行 docker create 命令,再执行 docker start 命令。
注意:容器是一个与其中运行的 shell 命令/进程共存亡的终端,命令/进程运行容器运行, 命令/进程结束容器退出。docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。当利用 docker run 来创建容器时, Docker 在后台的标准运行过程是:
(1)检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
(2)利用镜像创建并启动一个容器;
(3)分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
(5)分配一个地址池中的 IP 地址给容器;
(6)执行用户指定的应用程序,执行完毕后容器被终止运行。
docker run centos:7 /usr/bin/bash -c ls /
docker ps -a					#会发现创建了一个新容器并启动执行一条 shell 命令,之后就停止了
#在后台持续运行 docker run 创建的容器
需要在 docker run 命令之后添加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello;done"docker ps -a					#可以看出容器始终处于 UP,运行状态
docker run -itd --name test1 centos:7 /bin/bash   #创建容器并持续运行容器

终止容器运行

格式:docker stop/kill 容器的ID/名称stop: 停止容器,可以给容器一个等待时间,以防止数据的丢失。(相当于linux命令 kill -15)kill: 立即强行停止一个容器(相当于linux命令 kill -9) ,不会给容器反应时间,可能会造成数据丢失

 删除容器

格式:docker rm [-f] 容器ID/名称#不能删除运行状态的容器,只能-f强制删除,或者先停止再删除
#删除所有运行状态的容器
docker rm -f `docker ps -q`#删除所有容器
#法一
docker rm -f `docker ps -aq`#法二
docker ps -a |awk 'NR>=2 {print $1}' |xargs docker rm -f#法三
docker rm -f $(docker ps -aq)

 容器的进入

需要进入容器进行命令操作时,可以使用 docker exec 命令进入运行着的容器。格式:docker exec -it 容器ID/名称 /bin/bash
-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端。
docker run -it centos:7 bash      
#不加 -d 选项会创建容器后直接进入容器进行交互,但是退出容器,容器也会停止

 查看容器详细信息

格式:docker inspect 容器ID

复制到容器中

echo abc123 > ~/test.txt
docker cp ~/test.txt 0b3beb8ebed5:/opt/

从容器复制文件到主机

docker cp 0b3beb8ebed5:/opt/123.txt ~/123.txt

容器的导出与导入

用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。
在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为容器快照文件,
无论这个容器是处于运行状态还是停止状态均可导出
。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。
导出
导出格式:docker export 容器ID/名称 > 文件名方法一:
docker export 0b3beb8ebed5 > centos7.tar方法二:
docker export -o lcm.tar 0b3beb8ebed5
 导入
导入格式:cat 文件名 | docker import – 镜像名称:标签
cat centos7.tar | docker import - centos7:test			#导入后会生成镜像,但不会创建容器docker import centos7.tar -- centos7:test

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

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

相关文章

.net也能写内存挂

最近在研究.net的内存挂。 写了很久的c,发现c#写出来的东西实在太香。 折腾c#外挂已经有很长时间了。都是用socket和c配合。 这个模式其实蛮成功的,用rpc调用的方式加上c#的天生await 非常好写逻辑 类似这样 最近想换个口味。注入托管dll到非托管进程 这样做只…

【C语言】文件的操作与文件函数的使用(详细讲解)

前言:我们在学习C语言的时候会发现在编写一个程序的时候,数据是存在内存当中的,而当我们退出这个程序的时候会发现这个数据不复存在了,因此我们可以通过文件把数据记录下来,使用文件我们可以将数据直接存放在电脑的硬盘…

计算机毕业设计选什么题目好?springboot网上选课系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

为什么棋牌类APP不能做

1.首先,目前棋牌类APP已经被政府明令禁止了,所有开发和发布类似的APP是不被允许的。 其次,某信小游戏平台关于游戏类目选择的规范,明确的规定:棋牌类、捕鱼以及角色类目的游戏暂不对个人开发者开放! 也就…

python - excel 设置样式

文章目录 前言python - excel 设置样式1. 准备2. 示例2.1. 给单元格设置样式"等线"、大小为24磅、斜体、红色颜色和粗体2.2. 给第二行设置样式"宋体"、大小为16磅、斜体、红色颜色和粗体2.3. 给第三行数据设置垂直居中和水平居中2.4. 给第四行设置行高为30…

Unity基础课程之物理引擎7-物理运动应该在FixedUpdate执行

在第2章里提到过FixedUpdate,当时解释它是物理更新,会保证稳定的时间间隔。所谓Fixed的意思就是“固定的、稳定的”。获取两次Update之间的时间间隔用Time.deltaTime,获取两次FixedUpdate之间的时间间隔用Time.fixedDeltaTime。当设备运行不流…

日志管理工具Zap笔记

文章目录 Uber-go Zap日志库为什么选择 Zap配置 Zap Logger1. Logger2. SugaredLogger 定制logger1. 将日志写入文件而不是终端2. 将JSON Encoder更改为普通的Log Encoder3. 更改时间编码并添加调用者详细信息4. AddCallerSkip5. 将err日志单独输出到文件 使用Lumberjack进行日…

【安全】 Java 过滤器 解决存储型xss攻击问题

文章目录 XSS简介什么是XSS?分类反射型存储型 XSS(cross site script)跨站脚本攻击攻击场景解决方案 XSS简介 跨站脚本( cross site script )为了避免与样式css(Cascading Style Sheets层叠样式表)混淆,所以简称为XSS。 XSS是一种经常出现在web应用中的计算机安全…

MacOS安装conda

下载conda 地址https://repo.anaconda.com/miniconda/ 选择合适的安装文件下载 运行安装 执行命令安装 bash Miniconda3-latest-MacOSX-arm64.sh 设置环境变量 echo export PATH"/Users/your_user_name/miniconda3/bin:$PATH" >> ~/.zshrc source ~/.zsh…

高级岗位面试问题

自我介绍 【我是谁】 、【我做过什么】、【我会什么】 面试官您好,我叫xxx,来自江西。20XX年毕业于XXXXX大学,已有X年软件测试工作经验,之前在XX家公司担任测试工程师 最近一家公司我主要负责了两个项目的测试,分别为XXXXX的编写,测试用例的设计,测试环境的搭建以及测…

nextjs构建服务端渲染,同时使用Material UI进行项目配置

一、创建一个next项目 使用create-next-app来启动一个新的Next.js应用,它会自动为你设置好一切 运行命令: npx create-next-applatest 执行结果如下: 启动项目: pnpm dev 执行结果: 启动成功! 二、安装Mater…

Demo29单词规律

/**给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern "abba", s "do…

使用 Python 中的小波变换信号驾驭股票价格的波动

一、简介 股票上涨和下跌,创造出像海浪一样难以预测的模式和走势。然而,就像科学家通过了解下面的水流来预测波浪的运动一样,我们也可以使用类似的工具破译股票市场的一些模式。 通过利用小波变换的力量,我们深入表面,试图揭示驱动股价的深层原因。这段旅程不仅仅涉及数字…

C语言中常用的字符串处理函数(strlen、strcpy、strcat、strcmp)

文章目录 写在前面1. strlen1.1 函数介绍1.2 模拟实现 2. strcpy2.1 函数介绍2.2 模拟实现 3. strcat3.1 函数介绍3.2 模拟实现 4. strcmp4.1 函数介绍4.2 模拟实现 写在前面 本篇文章介绍了C语言中常用的字符串处理函数,包括strlen、strcpy、strcat和strcmp。文章…

【vue3+ts】项目初始化

1、winr呼出cmd,输入构建命令 //用vite构建 npm init vitelatest//用cli脚手架构建 npm init vurlatest2、设置vscode插件 搜索volar,安装前面两个 如果安装了vue2的插件vetur,要禁用掉,否则插件会冲突

Vue-2.6Vue异步更新和$nextTick

Vue是异步更新DOM,为了提升性能。 同步更新类似于刷新,更新一个内容要把所有的内容都刷新一遍。而异步则只刷新更新或修改的部分,不重新将所有内容全部刷新一遍。异步可以减少服务器的压力和等待时间。 $nextTick:等DOM更新后,立刻执行此方…

WebStorm 自定义创建Vue2.0的模板

打开 WebStorm&#xff0c;选择 File --> Settings&#xff1b;在左侧菜单中选择 File and Code Templates&#xff1b;在右侧窗口中&#xff0c;选择 Vue Single File Component&#xff1b;在 Code 标签下&#xff0c;替换默认的代码段为以下代码&#xff1a; <templa…

使用react-router-dom在新标签页打开链接,而不是本页跳转

一般单页面应用&#xff0c;当你使用useNavigate时候的时候&#xff0c;用useNavigate来跳转&#xff0c;只能是在当前页面刷新跳转的&#xff0c;要想单独在一个tab页打开新页面&#xff0c;大概用三种方式。 第一种 使用link标签&#xff0c;配合target实现 <Link to&q…

2023年中国石油催化裂化剂行业供需、竞争格局及市场规模分析[图]

催化裂化是石油炼制过程之一&#xff0c;是在热和催化剂的作用下使重质油发生裂化反应&#xff0c;转变为裂化气、汽油和柴油等的过程。中国原油加工量在这一阶段逐年提升&#xff0c;2022年国内原油加工量67589.7万吨。 2016-2022年中国原油加工量情况 资料来源&#xff1a;国…

linux,write:xxx has messages disabled 与 Ubuntu多用户同时登录的问题 ubuntu 20.04

write&#xff1a;xxx has messages disabled 问题 被这问题折磨了好久&#xff0c;搜都搜不到&#xff0c;还是灵机一动想到的。 很多 帖子说&#xff0c;要使用 mesg y用了还是没有用&#xff0c;后面我登录了很多用户&#xff0c;发现只有root用户可以给别的用户使用write…