先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
基础指令
FORM #基础镜像
MAINTAINER #镜像是谁写的 邮箱+姓名
RUN #镜像构建时要运行的命令
ADD #要添加的内容
WORKDIR #设置工作目录
VOLUME #挂载的目录
EXPOSE #保留端口的配置
CMD #指定容器要运行时执行的命令 , 只有最后一个会生效,可以被替代
ENTRYPOINT #指定容器运行时要执行的命令 可以追加
ONBUILD #当构建一个被继承的Dokcerfile这是时候会运行该指令
COPY #类似ADD指令,将文件copy到镜像中
ENV #构建的时候设置环境变量
Dockerfile测试
创建自己的centos
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# cat Dockerfile-centos
#编写Dockerfile文件
#基础镜像
FROM centos:7
#谁写的
MAINTAINER packet<123456@qq.com>
#环境
ENV MYPATH /usr/local
#工作目录
WORKDIR $MYPATH
#添加一些信息
RUN yum -y install vim
RUN yum -y install net-tools
#暴露端口
EXPOSE 80
#echo 输出信息
CMD echo $MYPATH
CMD echo "----end----"
CMD /bin/bash
#构建镜像
docker build -f /home/dockerfile/Dockerfile-centos -t mycentos:1.0 .
#运行镜像
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker run -it 4aa49c58348a /bin/bash
#发现进来就是local目录,这是工作目录的作用
[root@d7a0ad39c58c local]# pwd
/usr/local
[root@d7a0ad39c58c local]# ls
bin etc games include lib lib64 libexec sbin share src
[root@d7a0ad39c58c local]# cd /
[root@d7a0ad39c58c /]# ls
anaconda-post.log dev home lib64 mnt proc run srv tmp var
bin etc lib media opt root sbin sys usr
#现在可以执行这些命令了,之前时执行不了的
[root@d7a0ad39c58c /]# ifconfig
[root@d7a0ad39c58c /]# vim anaconda-post.log
遇到的坑
- 注意centos:7要写版本,不然执行不了, 好像8也不太行
- docker build 最后有一个空格有一个点,需要注意
docker history 查看历史
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker history 4aa49c58348a
IMAGE CREATED CREATED BY SIZE COMMENT
4aa49c58348a 16 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "/b... 0 B
d02ae184f173 16 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "ec... 0 B
1070345e548d 16 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "ec... 0 B
d66d848f1711 16 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
0a5b48f4a277 16 minutes ago /bin/sh -c yum -y install net-tools 241 MB
bcf1338f8c9a 17 minutes ago /bin/sh -c yum -y install vim 296 MB
7ad444664b62 17 minutes ago /bin/sh -c #(nop) WORKDIR /usr/local 0 B
c048257c88b1 17 minutes ago /bin/sh -c #(nop) ENV MYPATH=/usr/local 0 B
a6651ce8816d 17 minutes ago /bin/sh -c #(nop) MAINTAINER packet<12345... 0 B
eeb6ee3f44bd 2 years ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 2 years ago /bin/sh -c #(nop) LABEL org.label-schema.... 0 B
<missing> 2 years ago /bin/sh -c #(nop) ADD file:b3ebbe8bd304723... 204 MB
CMD 与 ENTRYPOINT
#创建两个dockerfile分别是dockerfile-cmd 与dockerfile-entrypoint-test
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# vim dockerfile-cmd-test
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# cat dockerfile-cmd-test
FROM centos
CMD ["ls","-a"]
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# vim dockerfile-entrypoint-test
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# cat dockerfile-entrypoint-test
FROM centos
ENTRYPOINT ["ls","-a"]
#构建镜像
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker build -f dockerfile-cmd-test -t dockerfile-cmd-test:1.0 .
Sending build context to Docker daemon 3.072 kB
Step 1/2 : FROM centos
---> 5d0da3dc9764
Step 2/2 : CMD ls -a
---> Running in 5eb2172a757f
---> 849d49cb4672
Removing intermediate container 5eb2172a757f
Successfully built 849d49cb4672
#构建镜像
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker build -f dockerfile-entrypoint-test -t dockerfile-entrypoint-test:1.0 .
Sending build context to Docker daemon 4.096 kB
Step 1/2 : FROM centos
---> 5d0da3dc9764
Step 2/2 : ENTRYPOINT ls -a
---> Running in 8554e0a5ab49
---> 5c40e329e0be
Removing intermediate container 8554e0a5ab49
Successfully built 5c40e329e0be
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dockerfile-entrypoint-test 1.0 5c40e329e0be 14 seconds ago 231 MB
dockerfile-cmd-test 1.0 849d49cb4672 2 minutes ago 231 MB
mycentos 1.0 4aa49c58348a 36 minutes ago 742 MB
<none> <none> 0146ba7c38c0 39 minutes ago 231 MB
tomcat01 1.0 0c109a855b95 3 days ago 684 MB
docker.io/portainer/portainer latest 5f11582196a4 15 months ago 287 MB
docker.io/nginx latest 605c77e624dd 2 years ago 141 MB
docker.io/tomcat 9.0 b8e65a4d736d 2 years ago 680 MB
docker.io/tomcat latest fb5657adc892 2 years ago 680 MB
docker.io/mysql 5.7 c20987f18b13 2 years ago 448 MB
docker.io/centos 7 eeb6ee3f44bd 2 years ago 204 MB
docker.io/centos latest 5d0da3dc9764 2 years ago 231 MB
docker.io/elasticsearch 7.6.2 f29a1ee41030 3 years ago 791 MB
#dockerfile-cmd-test 1.0 849d49cb4672 2 minutes ago 231 MB
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker run 849d49cb4672
.
..
.dockerenv
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
#却不能追加
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker run 849d49cb4672 -l
container_linux.go:290: starting container process caused "exec: \"-l\": executable file not found in $PATH"
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:290: starting container process caused "exec: \"-l\": executable file not found in $PATH".
#dockerfile-entrypoint-test 1.0 5c40e329e0be 14 seconds ago 231 MB
#可以追加
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]# docker run 5c40e329e0be -l
total 56
drwxr-xr-x 1 root root 4096 Mar 9 02:39 .
drwxr-xr-x 1 root root 4096 Mar 9 02:39 ..
-rwxr-xr-x 1 root root 0 Mar 9 02:39 .dockerenv
lrwxrwxrwx 1 root root 7 Nov 3 2020 bin -> usr/bin
drwxr-xr-x 5 root root 340 Mar 9 02:39 dev
drwxr-xr-x 1 root root 4096 Mar 9 02:39 etc
drwxr-xr-x 2 root root 4096 Nov 3 2020 home
lrwxrwxrwx 1 root root 7 Nov 3 2020 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Nov 3 2020 lib64 -> usr/lib64
drwx------ 2 root root 4096 Sep 15 2021 lost+found
drwxr-xr-x 2 root root 4096 Nov 3 2020 media
drwxr-xr-x 2 root root 4096 Nov 3 2020 mnt
drwxr-xr-x 2 root root 4096 Nov 3 2020 opt
dr-xr-xr-x 114 root root 0 Mar 9 02:39 proc
dr-xr-x--- 2 root root 4096 Sep 15 2021 root
drwxr-xr-x 1 root root 4096 Mar 9 02:39 run
lrwxrwxrwx 1 root root 8 Nov 3 2020 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 Nov 3 2020 srv
dr-xr-xr-x 13 root root 0 Mar 9 02:39 sys
drwxrwxrwt 7 root root 4096 Sep 15 2021 tmp
drwxr-xr-x 12 root root 4096 Sep 15 2021 usr
drwxr-xr-x 20 root root 4096 Sep 15 2021 var
[root@iZf8zhsqf64x47n1tpdy6oZ dockerfile]#
制作Tomcat镜像
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
制作Tomcat镜像
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-TvnwnrIq-1713318137490)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!