先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
docker unpause CONTAINER [CONTAINER…]
##### 8.docker logs
获取容器日志
格式:
docker logs [OPTIONS] CONTAINER
选项:
–details:显示日志提供的额外详细信息
–follow,-f:跟踪日志输出
–since:显示从时间戳开始的日志(例如2013-01-02T13:23:37Z)或相对日志(例如42m的42minutes)
–tail,-n:从日志末尾开始显示的行数
-t:显示日志时间戳
–until:在时间戳之前显示日志(例如2013-01-02T13:23:37Z)或相对显示(例如42m表示42minutes)
查看5秒之前的日志内容的前3行
[root@localhost ~]# docker logs --until 5s -n 3 nginx1
2023/07/12 10:04:58 [notice] 1#1: start worker process 32
2023/07/12 10:04:58 [notice] 1#1: start worker process 33
2023/07/12 10:04:58 [notice] 1#1: start worker process 34
##### 9.docker cp
在容器和本地文件系统之间复制文件/文件夹
格式:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
选项:
-a:归档模式(复制所有uid/gid信息)
–quiet,-q:在复制过程中抑制进度输出。如果没有终端连接,则自动抑制进度输出
##### 10.docker rm
移除一个或多个容器
格式:
docker rm [OPTIONS] CONTAINER [CONTAINER…]
选项:
–force,-f:强制移除正在运行的容器(使用SIGKILL)
–link,-l:移除指定的链接
–volumes,-v:移除与容器关联的匿名卷
##### 11.docker commit
根据容器的更改创建一个新映像
格式:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
选项:
–author,-a:作者(如John Hannibal Smith hannibal@a-team.com)
–change,-c:在创建的镜像上应用Dockerfile指令
–message,-m:提交消息
–pause,-p:在提交期间暂停容器
创建一个centos7镜像,进行安装net-tools工具,然后进行打包成镜像
[root@localhost ~]# docker run -itd --name centos centos:7.9.2009
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
[root@localhost ~]# docker exec -it centos /bin/bash
[root@1d1725c19cbe /]# yum -y install net-tools
进行打包
[root@localhost ~]# docker commit -a ‘conquerbug@163.com’ centos centos7:net-tools
sha256:0db0f584d14de19f7b377fa385ea43e7abcb57223f4a51c690c5b1628e882f70
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos7 net-tools 0db0f584d14d 6 seconds ago 418MB
然后,再基于当前镜像创建容器即可
##### 12.docker导出/导入
###### docker export
将容器文件系统导出为tar归档文件
格式:
docker export [OPTIONS] CONTAINER
选项:
–output,-o:写入文件,而不是标准输出
将当前容器进行打包
[root@localhost ~]# docker export -o centos.tar centos
[root@localhost ~]# ls
centos.tar Dockerfile httpd-2.4.57.tar.gz image.tar my.cnf original-ks.cfg
###### docker import
从压缩包中导入内容以创建文件系统映像
格式:
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
选项:
–change,-c:在创建的镜像上应用Dockerfile指令
–message,-m:为导入的图像设置提交消息
–platform:如果服务器支持多平台,请设置平台
将刚刚打包的容器进行还原
[root@localhost ~]# docker import centos.tar centos:test
sha256:6bc2adb97476b7b797a5a129c68afcba4ce05ab487812727c7049003f2a1049e
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos test 6bc2adb97476 4 seconds ago 394MB
##### 13.docker镜像/容器导出和导入的区别
###### export与save
1. export作用于容器,save作用于镜像,但它们导出的结果都是为tar文件
2. export一次只能对一个容器进行导出,save一次可以对多个镜像进行导出
3. export只是对当前容器的文件系统快照进行导出,其会丢失原镜像的所有历史记录与元数据信息,save则是保存了原镜像的完整记录。
###### import与load
1. import导入的是容器包,load加载的是镜像包,但最终都会恢复为镜像
2. import恢复为的镜像已包含当前镜像一层,load恢复的镜像与原镜像的分层是完全相同的。
3. import恢复的镜像就是新构建的镜像,与原镜像的imageID不同,load恢复的镜像与原镜像是同一个镜像,即imageID相同。
4. import可以为导入的镜像指定从<repository>与<tag>,load加载的镜像不能指定<repository>与<tag>,与原镜像的相同
##### 14.docker system
管理码头工人
###### 1.docker system df
查看docker磁盘使用情况
格式:
docker system df [OPTIONS]
查看当前系统的docker磁盘使用情况
[root@localhost ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 9 2 1.504GB 1.435GB (95%)
Containers 2 1 213.9MB 213.9MB (100%)
Local Volumes 3 1 6.174MB 1.501MB (24%)
Build Cache 19 0 465.4MB 465.4MB
选项:
–format:使用自定义模板格式化输出:table
:使用
docker system events [OPTIONS]
列标题以表格格式打印输出(默认)table template
:使用给定的Go模板以表格格式打印输出json
:使用给定的Go模板打印输出。有关使用模板格式化输出的更多信息,请参阅https://docs.docker.com/go/formatting/
–verbose,-v:显示空间使用的详细信息
###### 2.docker system events
从服务器获取实时事件
格式:
docker system events [OPTIONS]
选项:
–filter,-f:根据提供的条件过滤输出
–format:使用给定的Go模板格式化输出
–since:显示自时间戳以来创建的所有事件
–until:流事件直到这个时间戳
打开两个终端
终端1
docker system events
终端2
[root@localhost ~]# docker stop test
test
查看终端1
[root@localhost ~]# docker system events
2023-07-15T17:04:37.334836848+08:00 container kill d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290 (image=progrium/consul, name=great_easley, signal=15)
2023-07-15T17:04:41.428854481+08:00 network disconnect 462ad2de000e7aae527224ae21c66e15aac0e68ed45f96b65528e22e272851fa (container=d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290, name=bridge, type=bridge)
2023-07-15T17:04:41.430294298+08:00 volume unmount 0e452a14a460fdc4cfa0b2644761923359a263fe9abeca5fd1952927231ca0a7 (container=d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290, driver=local)
2023-07-15T17:04:41.430357838+08:00 container stop d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290 (image=progrium/consul, name=great_easley)
###### 3.docker system info
显示系统范围的信息
格式:
docker system info [OPTIONS]
与docker info相同
###### 4.docker system prune
移除未使用的数据
格式:
docker system prune [OPTIONS]
选项:
–all,-a:删除所有未使用的图片,而不仅仅是悬挂的图片
–filter:提供过滤器值(例如label==)
–force,-f:不提示确认
–volumes:删除卷
删除当前docker服务器所有没有使用的容器和空名空标签的镜像和没有使用的网络
[root@localhost ~]# docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
翻译:
警告!这将删除:
-所有停止的容器
—所有未被至少一个容器使用的网络
-所有悬挂的图像
-所有悬挂的构建缓存
你确定要继续吗?[y / N]
Are you sure you want to continue? [y/N] y
Deleted Containers:
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ou want to continue? [y/N] y
Deleted Containers:
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-DS4mSMda-1713200274972)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!