acwing linux docker教程

                                                终章

        听着名字还挺伤感的哈哈哈其实是Linux的终章,感谢大家这段时间的阅读,这段使时间我为了给大家清楚的讲解一下Linux自己也是很认真的学习了一遍,自己提升了也不少。其实最近学校里面是讲了Linux和windows server 2019搭载DNS、web、ftp服务器的内容,如果有需要的在下面留言我看不行就做一篇,要是没人需要我就不自作多情了嘿嘿。

        下面的出的我可能就从蓝桥杯的考点提纲开始做起了,因为我是跟着y总的一起学的算法,所以模板也就是讲讲y总的,再说y总那实力和蓝桥杯pass率摆在那里了跟着学能坚持下来肯定没毛病,然后呢我也讲讲算法竞赛入门经典(就是那个直接劝退初学者的紫皮书)里面一些我认为有用(或者是我能理解hh)的内容给大家一块谈谈。所以说计划就是

1.讲解y总算法代码(并附上动画和代数法供大家理解)

2.讲解蓝桥杯官网上的备赛经验和真题,及重要的双周赛内容

3.浅谈一些紫皮书

不能再多bb了上今天的内容

文章目录

1.镜像

2.容器

3.实操练习

本节课是关于搭建docker环境,使用docker的好处是方便迁移。
docker基本概念

镜像(images)

相当于一个模板。每个镜像由(名称+版本号)唯一标识

容器(container)

相当于一个完全独立的服务器,根据一个镜像来生成一个容器。使用相同镜像生成的容器,其环境完全一致。一个容器也可以压缩成一个镜像。

首先,将当前用户添加到docker用户组,能够避免每次使用docker命令都需要加上sudo权限

sudo usermod -aG docker $USER



执行完上面的命令后,需要退出并重新登陆一下

logoutssh aliyun


下面介绍docker的常用命令

镜像


docker pull ubuntu:20.04:拉取一个镜像(镜像由名称+版本号进行标识)
docker images:列出本地的所有镜像
docker rmi ubuntu:20.04:删除某个镜像
docker commit CONTAINER IMAGE_NAME:TAG:创建某个容器的镜像
docker save -o ubuntu_20_04.tar ubuntu:20.04:将镜像ubuntu:20.04导出到本地文件ubuntu_20_04.tar
docker load -i ubuntu_20_04.tar:从本地文件ubuntu_20_04.tar中加载出镜像

容器


docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器(container可加可不加)

docker ps:查看当前运行的容器

docker ps -a:查看所有容器

docker start CONTAINER:启动容器(后面的CONTAINER是容器名称)

docker stop CONTAINER:停止容器

docker restart CONTAINER:重启容器

docker run -itd ubuntu:20.04:根据镜像ubuntu:20.04创建并启动一个容器(其中-d表示daemon,以守护进程运行)

docker run --name my_nginx -p 80:80 nginx:latest :根据镜像nginx:latest创建一个容器,容器名为my_nginx,并添加宿主机端口到容器端口的映射

docker attach CONTAINER:进入一个容器

进入后,若想退出(仅退出容器,容器并不停止),先按Ctrl + p,再按Ctrl + q

docker exec CONTAINER COMMAND:在某个容器中执行一个命令

docker exec -it my_nginx /bin/bash 以bash进入到一个容器内部(进去后,exit就可以直接退出,且不会停止容器)

docker rm CONTAINER:删除一个容器

docker container prune:删除所有已停止的容器

docker export -o xxx.tar CONTAINER:将某个容器导出到本地xxx.tar文件中

docker import xxx.tar image_name:tag:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag

docker export/import与docker save/load的区别

export/import 会丢弃历史记录和元数据信息,仅保存容器当时的快照状态
save/load会保存完整记录,体积会更大
docker top CONTAINER:查看某个容器内的所有进程

docker stats:查看所有容器的统计信息(占用CPU,内存等)

docker cp xxx CONTAINER:xxx或docker cp CONTAINER:xxx xxx:在本地和容器之间复制文件

docker rename CONTAINER1 CONTAINER2:重命名容器

docker update CONTAINER --memory 500MB:给指定的容器修改内存限制为500MB

租好云服务器后,一定要先在云服务器内新建一个docker,然后以后直接在docker中操作,这样以后做服务器迁移,只需要给docker容器打个镜像,把镜像文件拷贝带走,然后在新服务器重新load这个docker镜像就好了。可以在任意的云平台进行迁移,很方便。不要在云服务器上直接施工。

租好云服务器,建好docker容器后,配置一下docker容器的ssh登录。下次直接从 AC Terminal登录到云服务器里的docker容器即可。

实际上述docker命令,工作中经常用到的,只是其中很小一部分,不需要记忆,现用现查即可。

实操练习
进入AC Terminal,将打包好的镜像,上传到自己的云服务器

scp xxx/docker_lesson_1_0.tar server_name:ssh server_name # 登录自己租的云服务器
docker load -i docker_lesson_1_0.tar #从该文件中加载镜像
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0
# 创建并运行容器, 添加端口映射, 本地云服务器端口20000, 映射到docker内端口22
docker attach my_docker_server #进入docker容器
passwd #设置root密码


去云平台控制台中,修改安全组配置,放行端口20000

返回AC Terminal,通过ssh登录到自己云服务器内的docker

ssh root@xxx.xxx.xxx.xxx -p 20000
1
随后,按照上一节的内容,创建一个普通用户,并添加sudo权限

随后,退出,返回 AC Terminal

配置ssh

ssh-copy-id aliyun_docker



配置ssh免密登录


配置成功,直接在 AC Terminal 通过ssh登录到云服务器的docker容器中

ssh aliyun_docker



直接从 AC Terminal 登录到 云服务器里面的docker中进行操作

docker命令查询,可以通过官网:https://docs.docker.com/get-started/overview/

在搜索框中输入命令,进行查询即可,比如查询docker update

注:如何在docker容器中安装vim等命令

docker的很多镜像,基于的操作系统都是debian,而这个操作系统为了保持轻量,阉割了很多内容,比如你进入容器后,发现vim根本没有安装,ps命令也没有。此时,可先配置清华大学的软件源,然后用apt-get install vim 进行vim的安装。

具体操作:
进入容器后,先备份一下apt的源

mv /etc/apt/sources.list /etc/apt/sources.list.bak


进入上面的清华大学源,其配置中有如下4行信息

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free



依次复制每一行,采用echo命令,配合>>操作符,将上面的内容以追加的形式放到/etc/apt/sources.list这个文件中

echo deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free >> /etc/apt/sources.list
echo deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free >> /etc/apt/sources.list
echo deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free >> /etc/apt/sources.list
echo deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free >>/etc/apt/sources.list



随后运行下apt-get update刷新一下源。
再运行apt-get install vim 即可进行软件安装
 

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

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

相关文章

[渗透测试学习] Manager - HackTheBox

文章目录 信息搜集 nmap扫描一下端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.236扫出来很多端口,其中80端口有http服务,88端口是采用一个身份验证协议kerberos,以及NetBIOS-SSN(端口139)和Microsoft-DS&#…

探索前端构建可视化应用的思路

一、前言 前端社区里,低代码/无代码是被讨论的火热赛道。简单来说低代码就是通过编写少量代码的方式完成应用的开发及上线,而无代码是低代码的子集,不需要编写代码通过配置的方式即可完成整个应用的开发。目前集团内部的低代码平台已经有很多…

如何使用Docker部署Dashy并无公网ip远程访问管理界面

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…

Linux上iPortal 配置80端口的http

作者:yx 文章目录 前言方法一、配置使用外置ES1、关闭启用 iPortal 内置的 ES2、修改80端口3、启动外置ES4、启动iPortal5、结果验证 方法二、更改 Linux 系统配置1. 安装 Authbind2. 启用端口的读取和执行权限3. 在 Apache Tomcat 上启用 Authbind4. 重启iPortal5.…

怎么搭建实时渲染云传输服务器

实时渲染云传输技术方案,在数字孪生、虚拟仿真领域使用越来越多,可能很多想使用该技术方案项目还不知道具体该怎么搭建云传输服务器,具体怎么使用实时云渲染平台系统。点量云小芹将对这两个问题做集中分享。 一、实时渲染服务器怎么搭建&…

测试老鸟,对软件测试行业的看法,“我“测试人何去何从?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 首先一个软件做出…

2023.12.22 关于 Redis 数据类型 String 常用命令

目录 引言 String 类型基本概念 SET & GET SET 命令 GET 命令 MSET & MGET MSET 命令 MGET 命令 SETNX & SETEX & PSETEX SETNX 命令 SETEX 命令 PSETEX 命令 计数命令 INCR 命令 INCRBY 命令 DECR 命令 DECRBY 命令 INCRBYFLOAT 命令 总结…

NeurIPS已成为了AI人才招聘的最大盛会,连Hinton都“应聘”过

在一周前美国举行的年度最热门的人工智能大会NeurIPS 2023上,有超过1万名世界顶尖AI研究人员聚集在此。 而除了研究员之外,中国科技公司和华尔街公司是其中最突出的参会者,他们都背负着抢夺AI人才的任务。 大模型人才最受欢迎 随着今年Cha…

深度学习中的Dropout

1 Dropout概述 1.1 什么是Dropout 在2012年,Hinton在其论文《Improving neural networks by preventing co-adaptation of feature detectors》中提出Dropout。当一个复杂的前馈神经网络被训练在小的数据集时,容易造成过拟合。为了防止过拟合&#xff…

最新ChatGPT商业运营网站程序源码,支持Midjourney绘画,GPT语音对话+DALL-E3文生图+文档对话总结

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

mac传输文件到windows

前言 由于mac系统与windows系统文件格式不同,通过U盘进行文件拷贝时,导致无法拷贝。 几种文件格式说明: NTFS 文件格式:只适用于 windows 系统,不适用于 mac 系统; APFS 文件格式:mac 系统格式…

性能测试之Mysql数据库调优

一、前言 性能调优前提:无监控不调优,对于mysql性能的监控前几天有文章提到过,有兴趣的朋友可以去看一下 二、Mysql性能指标及问题分析和定位 1、我们在监控图表中关注的性能指标大概有这么几个:CPU、内存、连接数、io读写时间…

Certum的EV增强型证书

EV增强型https证书是一种特别的数字证书,只有这一款域名数字证书可以直接在地址栏显示企业名称(支持中文名称)。因此,很多企业为了提升企业的品牌形象,向客户展示企业的专业性和可靠性,往往会选择这种类型的数字证书。今天就随SSL…

【React Native】第一个Android应用

第一个Android应用 环境TIP开发工具环境及版本要求建议官方建议 安装 Android Studio首次安装模板选择安装 Android SDK配置 ANDROID_HOME 环境变量把一些工具目录添加到环境变量 Path[可选参数] 指定版本或项目模板 运行使用 Android 模拟器编译并运行 React Native 应用修改项…

阶段七-GitEE

Git:版本控制软件 Git的优点 1.1 协同修改 多人并行不悖的修改服务器端的同一个文件。 1.2 数据备份 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。 1.3 版本管理 在保存每一个版本的文件信息的时候要做到不保存重复数据&…

猫头虎分享2023年12月17日博客之星候选--领域赛道博主文章数据

猫头虎分享2023年12月17日博客之星候选–领域赛道博主文章数据 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开…

单位圆内接三角形的角是外接三角

证明 ∠ A P C 2 ∠ A B C ∠APC2∠ABC ∠APC2∠ABC ∴ ∴ ∴ 三角形内角和为180 $∵ \begin{cases} ∠ABP∠BAP∠APB180 \∠ABC∠BAC∠ACB180 \∠PAC∠PCA∠APC180 \end{cases} $ ∴ A P B P P C r ∴APBPPCr ∴APBPPCr ∵ ∵ ∵△PAB和△PAC为等腰三角形 ∴ ∴ ∴等腰三…

IntelliJ IDEA 2023.3 安装教程

引言 IntelliJ IDEA,通常简称为 IDEA,是由 JetBrains 开发的一款强大的集成开发环境,专为提升开发者的生产力而设计。它支持多种编程语言,包括 Java、Kotlin、Scala 和其他 JVM 语言,同时也为前端开发和移动应用开发提…

这款APP,在离线环境下也能查看倾斜模型、点云等数据

《四维轻云-离线版》APP是基于移动端开发的轻量化地理空间数据应用平台,实现了用户对空间数据场景的制作和应用。 目前,已涵盖的数据类型包括倾斜模型(.osgb)、激光点云(.las)、正射影像(dom)、数字高程模型(dem)、矢量数据(shp)、人工模型(…

【开源】基于Vue+SpringBoot的贫困地区人口信息管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 人口信息管理模块2.2 精准扶贫管理模块2.3 特殊群体管理模块2.4 案件信息管理模块2.5 物资补助模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 人口表3.2.2 扶贫表3.2.3 特殊群体表3.2.4 案件表3.2.5 物资补助表 四…