acwing linux docker教程

news2024/9/26 3:27:12

                                                终章

        听着名字还挺伤感的哈哈哈其实是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



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

logout

ssh 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.coloradmin.cn/o/1334516.html

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

相关文章

【代码随想录】刷题笔记Day37

前言 试一试早上晚上固定时间刷题会不会效率and养成习惯 135. 分发糖果 - 力扣(LeetCode) 两边一起判断容易顾此失彼从左到右遍历,只比较右比左大的情况,局部and全局:右比左大从右到左遍历,只比较左比右…

【已解决】使用fastjson返回给echarts的时候怎么不忽略null值?

问题复现: 在使用fastjson的将对象序列化成json字符串的时候,如果对象属性为null的话,会被忽略掉的。有时候,这些null值还是很有用的。比如我们在使用echarts的时候,返回给前端就不能因为null而忽略,如果忽…

【echarts大屏】横向柱状图翻页轮询,让数据动起来!

想要打造震撼人心的数据可视化大屏?那么不妨尝试一下【echarts大屏】横向柱状图翻页轮询效果!通过这种方式,可以让你的数据图表生动起来,吸引用户的注意力。 ✨ 接下来,我将为你介绍如何实现【echarts大屏】横向柱状图…

对属于国家秘密的地理信息的获取、持有、提供、利用情况进行登记并长期保存,实行可追溯管理

对属于国家秘密的地理信息的获取、持有、提供、利用情况进行登记并长期保存,实行可追溯管理 数据记录(包括获取、持有、提供、利用、销毁等全闭环)

云安全资源管理定义以及实现方法

随着云计算的大力发展,越来越多的企业上云了。但很多企业上云之后,不知道怎么保障云资源安全,不知道怎么管理云资源,今天我们就来聊聊云安全资源管理定义以及实现方法。仅供参考哈! 云安全资源管理定义 云安全资源管理…

npm的常用使用技巧

npm是一个强大的工具&#xff0c;可以帮助你管理Node.js项目中的依赖项。以下是一些有用的npm使用技巧&#xff1a; 使用npm install命令&#xff1a;这个命令可以安装项目的依赖项。如果你想安装一个特定的版本&#xff0c;你可以使用npm install <package><version…

Linux6.2、IO基础(文件系统接口)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 直接使用系统接口 fopen底层封装的系统接口为open pathname也就是文件路径&#xff0c;flags我们通过一个demo来理解。 首先我们应该了解的是位图&#xff0c;int有32个比特位&#xff0c;我们根据他的比特位是否为1来决定这…

【数据结构】字符串匹配|BF算法|KMP算法|next数组的优化

字符串匹配算法是在实际工程中经常遇到的问题&#xff0c;也是各大公司笔试面试的常考题目&#xff0c;本文主要介绍BF算法&#xff08;最好想到的算法&#xff0c;也最好实现&#xff09;和KMP算法&#xff08;最经典的&#xff09; 一、BF算法 BF算法&#xff0c;即暴力(Bru…

轻松管理固定资产,易点易动固定资产管理系统为企业开启新篇章

在现代企业运营中&#xff0c;固定资产管理是一个不可忽视的关键环节。有效地管理和维护固定资产不仅可以提升企业运营效率&#xff0c;还能最大限度地发挥资产的价值。为了满足企业对固定资产管理的需求&#xff0c;我们推出了易点易动固定资产管理系统&#xff0c;一款功能强…

网站使用https认证

随着网络的普及和依赖程度的增加&#xff0c;网站安全性问题也日益凸显。为了确保用户和网站之间的数据传输安全&#xff0c;采用HTTPS认证已经变得至关重要。 1.数据安全是首要任务 在互联网上&#xff0c;信息传输是网站运作的基础。然而&#xff0c;未加密的传输容易受到中…

嵌入式-stm32-用PWM点亮LED实现呼吸灯

一&#xff1a;知识前置 1.1、LED灯怎么才能亮&#xff1f; 答&#xff1a;LED需要低电平才能亮&#xff0c;高电平是灯灭。 1.2、LED灯为什么可以越来越亮&#xff0c;越来越暗&#xff1f; 答&#xff1a;这是用到不同占空比来实现的&#xff0c;控制LED实现呼吸灯&…

千帆起航:探索百度智能云千帆AppBuilder在AI原生应用开发中的革新之路

千帆起航&#xff1a;探索百度千帆AppBuilder在AI原生应用开发中的革新之路 1.揭开帷幕&#xff0c;大模型第二次战役 自从 ChatGPT 横空出世后&#xff0c;一石激起千层浪&#xff0c;人工智能也正在从感知理解走向生成创造&#xff0c;这是一个关键里程碑。生成式大模型完成…

Spring Cloud + Vue前后端分离-第7章 核心业务功能开发

Spring Cloud Vue前后端分离-第7章 核心业务功能开发 7-1 课程管理功能开发 课程管理页面美化 1.课程管理页面美化 demo-course.jpg 复制search.html中的部分代码 course.vue 看效果 测试一下新增修改删除效果 1.课程管理页面美化2 scoped:style下的样式只应用于当前组件…

数字人直播系统源码开发:实现电商必备的一键生成真人直播卖货

随着互联网技术的不断演进和电子商务的蓬勃发展&#xff0c;直播电商成为了一种新兴的销售模式。然而&#xff0c;传统的直播方式存在着一些问题&#xff0c;比如主播的时间和精力有限&#xff0c;无法满足大量商品的销售需求。为了解决这个问题&#xff0c;数字人直播系统应运…

2023RT-Thread开发者大会

参加了一次RT-Thread的开发者大会&#xff0c;相当有意思&#xff0c;虽然一天奔波挺累&#xff0c;但睡了半天之后简单剪了下22号的视频&#xff0c;也就有时间写自己的参会笔记了。 与openEuler社区不同&#xff0c;RT-Thread社区更专注于嵌入式&#xff0c;与硬件厂商结合…

长宁区科协常务副主席张正行一行到访深兰科技

12月22日&#xff0c;上海市长宁区科协常务副主席张正行、学会部部长洪嫣一行到访深兰科技总部&#xff0c;并与深兰科技集团董事长陈海波、深兰科技集团技术副总裁王雷博士等进行了会谈。 座谈中&#xff0c;陈海波详细介绍了深兰科技当前的企业发展及业务现状&#xff0c;并就…

WPS的JS宏实现WORD表格的首行以及整体格式设置

本文实现了在WORD文档中的表格的样式、字体的整体设置&#xff0c;以及首行的样式、字体的翻开设置。 例如一篇WORD文档&#xff0c;包含了200个表格&#xff0c;所有的表格需要设置为相同的样式&#xff1a; 字体 5号&#xff0c;方正仿宋_GB2312&#xff0c;行间距18磅&…

如何快速搭建接口自动化测试框架【附教程+源码】

1、接口测试 接口测试是对系统或组件之间的接口进行测试&#xff0c;主要是校验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及相互逻辑依赖关系。 接口自动化相对于UI自动化来说&#xff0c;属于更底层的测试&#xff0c;这样带来的好处就是测试收益更大&#xf…

拓扑排序相关leetcode算法题

文章目录 1.课程表2.课程表II3.火星词典 1.课程表 课程表 class Solution {//进行一次拓扑排序即可 public:bool canFinish(int n, vector<vector<int>>& prerequisites) {unordered_map<int,vector<int>> edges;//使用邻接表存图vector<int…

一起玩儿物联网人工智能小车(ESP32)——14. 用ESP32的GPIO控制智能小车运动起来(二)

摘要&#xff1a;本文主要讲解如何使用Mixly实现对单一车轮的运动控制。 下面就该用程序控制我们的小车轮子转起来了。打开Mixly软件&#xff0c;然后单击顶部“文件”菜单中的“新建”功能&#xff0c;我们来开启一个新程序的开发工作。 我们的工作同样是先从最简单的开始&am…