云服务配置docker镜像容器以及常用操作命令

首先通过ssh进入云服务器。如何ssh进入云服务器。

简单讲解一下docker中镜像和容器,打个比方,镜像相当于印钱的那个模板,容器相当于从模板上拓下来的钱,不同的模板可以印出不同的钱。但容器被修改后也可以变成新的镜像,再印出对应的初始时相同的容器。

1.添加docker用户组

因为docker很多命令需要sudo权限,所以需要将当前用户添加进docker用户组中,命令,如下,然后输入用户密码,

sudo usermod -aG docker $USER

 

2.拉取镜像

从docker官网通过 pull 拉取一个镜像,我通过拉取乌邦图20.04为例,命令如下,如果提示没有权限,要么命令加上sudo,要么执行上一步,后面就可都避免权限不足 

docker pull unbuntu:20.04 

 

 3.查看所有镜像

docker images

 

4.删除镜像

如果要删除镜像,表示删除ubuntu:20.04这个镜像

docker image rm ubuntu:20.04 

 

 5.使用本地镜像文件

(没有则5,6,7忽略)如果本地已经有了其他服务器上的docker镜像文件,那么直接在本地执行命令,把文件传到云服务器上,然后重新进入服务器,家目录下就能看到 docker文件名 

scp 文件名  服务器别名: 

 

6.查看镜像文件

然后把将镜像从文件中加载出来,那么镜像存在了,可以用 docker images 查看

docker load -i  文件名

 

7.导出镜像文件

相反的,如果需要把服务器上的docker镜像导出到本地或迁移到其他服务器,则在服务器终端中使用命令,就可以成功导出镜像文件,导出后的文件名为自定义,

docker save -o 导出后的文件名 ubuntu:20.04 

         但此文件是仅自己可读写,所以需要修改权限,让其他人也能读,命令

chomd +r  导出后的文件名

        然后就可以通过把镜像文件迁移到其他服务器上或本地,在其他服务器上通过第 5,6 步 生成新的镜像。

8.创建容器

有了docker镜像,就可以使用命令创建容器了。在阿里云服务器中执行命令,这个命令有非常多的参数,感兴趣可以去官网查看

docker create -it ubuntu:20.04

         此时就创建好了 unbuntu:20.04的服务器容器,可以通过命令 docker ps -a 查看所有容器,但他没有运行,然后需要下面命令运行容器。

补充:        

        也可以通过 docker rm 容器id或者名称 命令删除容器,但不能删除在运行的容器,删除之前需要关闭容器,docker container  prune 删除所有已停止的容器

9.运行容器

 docker start 容器id或者名称

        id和名称在 docker ps -a 命令显示的容器列表中的id和name,再通过此命令的status就能看到容器的启动情况,此外 docker stop 容器id或者名称 命令可以关闭容器,docker restart 容器id或者名称 可以重启容器,docker run -itd ubuntu:20.04 也可以直接创建并启动容器

10.进入容器

运行容器之后,进入容器,只能进入已经运行的容器,进入之后会在root用户的根目录下,跟一个新的服务器一模一样

docker attach 容器id或者名称

 退出但挂起容器需要两段操作,先按Ctrl+p,再按Ctrl+q,如果直接退出且关闭容器,则Ctrl+d

11.在云服务器中执行docker中的命令 .

容器需要是运行状态

docker exec 容器id或者名称  命令

 比如,docker exec 82e84dbce483 ls ,就可以查看82e84dbce483这个容器中根目录下的所有文件。

12.导出容器

docker export -o xxx.tar 容器id或者名称   

将容器导出到本地文件xxx.tar中 ,然后使用命令 chmod +r xxx.rar 加上可读权限,然后就可以先scp 传到本地,再通过 scp 命令传到其他服务器上,注意此时相当于导出的是容器的镜像,其他服务器是接受的也是次容器的镜像文件。然后其他服务器 docker export docker文件名 就可以获得此docker文件的镜像,大家会发现此步骤跟 上述 5,6,7步骤中的save和load命令非常相似,但两则有一点区别,对容器的导出和导入就是export和import(但其实导入导出的都是容器的模板也是镜像),直接对镜像的导出和导入就是save和load,但export/import会丢弃历史记录和元数据信息,仅保存容器当时的快照状态,甚至连容器的名字都会被删掉,save/load会保存完整记录,体积更大

13.查看容器信息

容器需要启动,然后 docker attach 容器id或者名称 进入容器,然后执行 top 命令查看当前容器存在的进程,

可以在在云服务器使用命令 docker top 容器id或者名称 查看容器存在进程,两个方法效果基本一样

也可以在云服务器使用命令 docker stats 查看所有容器的资源占用情况

14.在本地和容器间复制文件

docker cp xxx 容器id或者名称:xxx 

docker cp 容器id或者名称:xxx xxx

xxx为文件路径或文件名

15. 重命名容器,

镜像生成容器后,容器名是随机的,这时候就可以修改容器名

docker rename 容器旧名 容器新名

 

16.修改容器限制

比如修改容器内存大小。修改完后可进入容器使用top查看

该命令可以修改的东西非常多,cpu周期,cpu使用数量,内存大小等等,可查看官网

docker update 容器id或者名称--memory 500MB

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

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

相关文章

Postman中参数填写方式

Postman中参数填写和请求方法有关,一般接口用例请求方法GET与POST常用,所以主要是这两种请求方法请求参数填写 一、GET请求方法参数填写 1、直接在URL中填写请求参数,如直接在URL中填写: http://www.example.com:8089/userapi?unamelisi&…

c++_01_名字空间_复合类型_缺省参数_哑元函数

0 前言 C和C一样,都属于编译型语言 C和C一样,都属于强类型语言 C对C完全兼容,并提供更多面向对象的特性:语言风格更加简洁,类型检查更加严格 1 名字空间 namespace WHY?划分更精细的逻辑单元(逻辑空间)&…

Faulhaber 2.5代运动控制系统 25mNm/13W

2.5代控制系统; PWM输出; 四象限控制带; RS232或CANopen通信接口; 2250_BX4_CxD 选件,电缆和连接信息: 适配部件:

谷歌的开源供应链安全

本内容是对Go项目负责人Russ Cox 在 ACM SCORED 活动上演讲内容[1]的摘录与整理。 SCORED 是Software Supply Chain Offensive Research and Ecosystem Defenses的简称, SCORED 23[2]于2023年11月30日在丹麦哥本哈根及远程参会形式举行。 摘要 💡 谷歌在开源软件供应…

【面经】2024年软件测试面试题大全(持续更新)附答案

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

YOLOv8使用自定义改进后的模型同时《加载官方预训练权重》教程,附代码

YOLOv8自定义改进后的模型同时《加载官方预训练权重》教程,附代码 💡该教程为改进YOLOv8指南,属于《芒果书》📚系列,包含大量的原创改进方式🚀 💡🚀🚀🚀内含改进源代码 按步骤操作运行改进后的代码即可💡更方便的统计更多实验数据,方便写作 YOLOv8自定义…

Spring boot basePackages 通配符* 找不到Bean

Spring boot basePackages 通配符* 找不到Bean 今天遇到了一个关于spring boot 组件ComponentScan 中basePackages 使用通配符* 找不到Bean的问题 目录结构中BussinessPerson与Dog类中都有标注有Component注解,结果扫描不到。 然后删除通配符,结果运行成…

C++相关闲碎记录(15)

1、string字符串 #include <iostream> #include <string> using namespace std;int main (int argc, char** argv) {const string delims(" \t,.;");string line;// for every line read successfullywhile (getline(cin,line)) {string::size_type beg…

ADUM1200ARZ数字隔离器:重新定义技术标准

ADUM1200ARZ数字隔离器成为技术进步领域的关键组件。其创新设计和多方面功能重新定义了数字隔离技术的格局&#xff0c;提供了满足不同工业需求的众多功能。让我们通过本文直观的了解ADUM1200ARZ的功能与技术标准。 窄体且符合ROHS&#xff1a;设定新基准 该数字隔离器采用窄体…

持续集成交付CICD:Jenkins使用GitLab共享库实现基于Ansible的CD流水线部署前端应用的蓝绿发布

目录 一、实验 1.蓝绿发布准备 2.Jenkins使用GitLab共享库实现基于Ansible的CD流水线部署前端应用的蓝绿发布 二、问题 1.手动构建Jenkins前端项目CI流水线报错 2.如何优化手动构建流水线选项参数 一、实验 1.蓝绿发布准备 &#xff08;1&#xff09;环境 表1 蓝绿发布…

用EnumSet代替位域

在Java中&#xff0c;可以使用EnumSet来代替位域&#xff0c;以提高代码的可读性和类型安全性。下面是一个简单的例子&#xff0c;演示如何使用EnumSet来管理一组枚举值&#xff1a; import java.util.EnumSet;// 定义一个枚举类型表示权限 enum Permission {READ, WRITE, EXE…

NCNN 源码学习【三】:数据处理

一、Topic&#xff1a;数据处理 这次我们来一段NCNN应用代码中&#xff0c;除了推理外最重要的一部分代码&#xff0c;数据处理&#xff1a; ncnn::Mat in ncnn::Mat::from_pixels_resize(bgr.data, ncnn::Mat::PIXEL_BGR, bgr.cols, bgr.rows, 227, 227);const float mean_v…

DDOS 攻击是什么?有哪些常见的DDOS攻击?

DDOS简介 DDOS又称为分布式拒绝服务&#xff0c;全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载&#xff0c;导致服务不可用&#xff0c;从而造成服务器拒绝正常流量服务。就如酒店里的房间是有固定的数量的&#xff0c;比如一个酒店有50个房间&am…

C# OpenVINO 直接读取百度模型实现图片旋转角度检测

目录 效果 模型信息 代码 下载 C# OpenVINO 直接读取百度模型实现图片旋转角度检测 效果 模型信息 Inputs ------------------------- name&#xff1a;x tensor&#xff1a;F32[?, 3, 224, 224] --------------------------------------------------------------- Ou…

RV32/64 特权架构

machine mode: 运行最可信的代码;supervisor mode:为 Linux&#xff0c;FreeBSD 和 Windows 等操作系统提供支持;user mode:权限最低&#xff0c;应用程序的代码在此模式下运行&#xff1b; 这两种新模式都比user mode有着更高的权限&#xff0c;有更多权限的模式通常可以使用…

算法:二叉树的遍历

一、31种遍历方法 (1)先序法&#xff08;又称先根法&#xff09; 先序遍历&#xff1a;根&#xff0c;左子树&#xff0c;右子树 遍历的结果&#xff1a;A&#xff0c;B&#xff0c;C 遍历的足迹&#xff1a;沿途经过各结点的“左部” (2)中序法&#xff08;又称中根法&#…

【Spark精讲】Spark内存管理

目录 前言 Java内存管理 Java运行时数据区 Java堆 新生代与老年代 永久代 元空间 垃圾回收机制 JVM GC的类型和策略 Minor GC Major GC 分代GC Full GC Minor GC 和 Full GC区别 Executor内存管理 内存类型 堆内内存 堆外内存 内存管理模式 静态内存管理 …

LV.13 D4 uboot使用 学习笔记

一、uboot环境变量命令 1.1 uboot模式 自启动模式 uboot 启动后若没有用户介入&#xff0c;倒计时结束后会自动执行自启动环境变量 (bootcmd) 中设置的命令&#xff08;一般作加载和启动内核&#xff09; 交互模式 倒计时结束之前按下任意按键 uboot 会进…

牛客后端开发面试题1

滴滴2022 1.redis过期策略 定时删除&#xff0c;定期删除&#xff0c;惰性删除 定时删除&#xff1a;设定一个过期时间&#xff0c;时间到了就把它删掉&#xff0c;对cpu不太友好&#xff0c;但是对内存友好 定期删除&#xff1a;每隔一个周期删除一次&#xff0c;对cpu和内存…

软件开发模型学习整理——瀑布模型

一 前言 从参加工作至今也完整的跟随过一整个项目的流程了&#xff0c;从中也接触到了像瀑布模型&#xff0c;迭代模型&#xff0c;快速开发模型等。介于此&#xff0c;基于自己浅薄的知识对瀑布模型进行整理学习以及归纳。 二 瀑布模型简介 2.1 瀑布模型的定义和特点 定义&…