先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
[root@qll251 ~]# docker create -it ubuntu:18.04
eeb931f21f0895d055bedcbe5829634309cbc24863eee6f80b14a131559ffd21
参数说明:
-i
保持标准输入打开,用于控制台交互
t
分配一个tty伪终端,支持终端登录
2、启动容器
使用
docker create
命令新建的容器处理停止状态,可使用docker start
启动它。
例如,启动刚刚创建的ubuntu容器:
[root@qll251 ~]# docker start eeb
eeb
eeb
为刚刚创建容器的ID简写,此时通过docker ps
查询容器已运行:
3、新建并启动容器
docker run 语法
例如,使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:
[root@qll251 ~]# docker run -it ubuntu /bin/bash
root@8b18b6758bb6:/#
docker run
相当于执行了两个步骤:将镜像放入容器
中(docker create),然后启动容器
(docker start)。
4、后台运行容器
对于刚刚所创建的容器,当用户使用exit命令退出后,容器也会自动退出,如下图所示的Exited
状态。
Exited状态
因为对它来说,当容器的应用退出后,容器使命完成,也就没有继续运行的必要了。
因此更多时候,我们希望 Docker 容器是在后台一直运行。此时可以通过添加-d
参数来实现。验证如下:
添加 -d 参数实现容器后台运行
小知识点:如果不指定后台运行容器,还有其他办法退出而容器不关闭吗?按
Ctrl+P+Q
即可实现正常退出不关闭容器。验证如下:
2、停止容器
1、暂停容器
docker pause 语法
例如,暂停容器中所有的进程
处于paused
状态的容器,可以使用docker unpause
命令恢复到运行状态,如图:
docker unpause 命令
2、终止容器
docker stop 语法
举例:
该命令首先向容器发送
SIGTERM
信号,等待一段超时时间后(默认为10秒),再发送SIGKILL
信号来终止容器:
[root@qll251 ~]# docker stop 021
021
3、强制终止容器
此外,还可以通过docker kill 直接发送
SIGKILL
信号强制终止容器。例如:
[root@qll251 ~]# docker kill 021
021
4、删除所有停止状态的容器
[root@qll251 ~]# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 1.1 GB
[root@qll251 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@qll251 ~]#
3、进入容器
当容器在后台运行时,用户是无法操作容器的。这个时候如果需要进入容器进行操作,推荐使用
exec
命令,语法格式如下:
docker exec 语法
例如,进入一个容器,并启动一个bash:
[root@qll251 ~]# docker exec -it 021 /bin/bash
root@0215d56eaf7d:/#
通过指定
-it
参数保持标准输入打开,并且分配一个伪终端。
进入容器后,我们可以进行操作,比如创建文件和列出当前运行进程:
操作容器
4、删除容器
docker rm 语法
例如,删除处于终止状态的容器:
默认情况下,docker rm
命令只能删除处于终止或退出状态的容器,并不能删除处于运行状态的容器。如果要直接删除运行状态的容器,可以添加-f
实现:
实际上,指定-f 参数时,Docker先发送SIGKILL信号给容器,终止其中的应用,之后强行删除。
更多关于容器删除的方法,参考文末本章命令小结
5、导入导出容器
docker的一大优势就是可移植性
,容器可以随意的进行导入导出操作。下面一起看下具体怎么操作。
1、导出容器
将容器导出到一个文件中,可以使用docker export
,命令格式如下:
docker export 语法
例如,将容器79b
导出到/data/myubuntu.tar
文件
[root@qll251 ~]# docker export 79b > /data/myubuntu.tar
[root@qll251 ~]# ls /data/
myubuntu.tar
[root@qll251 ~]#
注意:不管容器是否处于运行状态,都可以将容器导出到一个文件。
2、导入容器
可以使用docker import
从容器快照文件中再导入为镜像,命令格式如下:
docker import 语法
例如,使用docker import
将导出的myubuntu.tar
文件导入为镜像,并且重新指定标签为qinlulu/ubuntu:v1
,代码如下:
还记得上一章节,我们讲过docker load
载入镜像吗?花1分钟回顾下:
两者区别
1、docker load
的对象是镜像文件
2、docker import
的对象是容器快照
3、用户既可以使用docker load
导入镜像文件到本地镜像库,也可以使用docker import
导入容器快照到本地镜像库。
4、两者的区别在于,使用容器快照文件导入的镜像将丢失所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像文件导入的镜像将保存完整记录,体积也要大。
5、此外,从容器快照文件导入镜像时,可重新指定
标签等元数据信息。
6、查看容器
1、查看容器详细信息
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
licHBxektyYk9JQTVKUGVpY1dNeUhnalVLTEIwMEdoWkd6UGF2bXNFOHAyV0hkc21mVW1YV2hlVkpCS3NlcXRKaWJlcWVDOVRTbGJUbDlsdy82NDA?x-oss-process=image/format,png)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-CrChTXtm-1713320050384)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!