最新Docker 面试知识点_面试 docker(1),2024年最新2024年展望Golang原生开发的现状

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

CONTAINER ID IMAGE PORTS NAMES
bf08b7f2cd89 training/webapp … 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar
d3d5e39ed9d3 training/webapp … 0.0.0.0:32769->5000/tcp xenodochial_hoov


更多:[Docker 命令大全](https://bbs.csdn.net/topics/618658159)




---


### Dockerfile 指令



> 
> Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
> 
> 
> 


`FROM` 构建镜像基于哪个镜像


`MAINTAINER` 镜像维护者姓名或邮箱地址


`RUN` 构建镜像时运行的指令


`CMD` 容器启动的命令,如果有多个则以最后一个为准,也可以为 ENTRYPOINT 提供参数


`VOLUME` 指定容器挂载点到宿主机自动生成的目录或其他容器


`USER` 为RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户


`WORKDIR` 为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录


`HEALTHCHECH` 健康检查


`ARG` 构建参数,与 ENV 作用一致。不过作用域不一样。ARG 设置的环境变量仅对 Dockerfile 内有效,也就是说只有 docker build 的过程中有效,构建好的镜像内不存在此环境变量。


`EXPOSE` 声明容器的服务端口(仅仅是声明)


`ENV` 设置容器环境变量


`ADD` 拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压


`COPY` 拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能


`ENTRYPOINT` 运行容器时执行的 shell 命令



FROM cr.d.xm.net/container/xm_centos7:release

MAINTAINER ldz ldz@xm.com

RUN mkdir -p /home/work/bin/tmp

复制应用程序

COPY devsecops_backend /home/work/bin

复制配置文件

COPY config/local.toml /home/work/bin
COPY config/staging.toml /home/work/bin
COPY config/prod.toml /home/work/bin
COPY config/preview.toml /home/work/bin

暴露端口

EXPOSE 1416

打开工作目录

WORKDIR /home/work/bin

执行命令

ENTRYPOINT [“”]


### Docker 怎么用?


例如,制作一个 centos 镜像  
 1.编写 Dockerfile,文件命名为 mydockerfile-centos



FROM centos:7.9.2009
MAINTAINER ldz ldz@whu.edu.cn

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo “-----end-----”
CMD /bin/bash


2.通过命令构建镜像 (最后有个 . )



// docker build -f dockerfile文件名 -t 镜像名:[tag] .
[root@ldz] docker build -f mydockerfile-centos -t mycentos:0.1 .

// 成功显示如下
Successfully built f29d77d79136
Successfully tagged mycentos:0.1


3.查看本地进行的变更历史(这一步骤可选)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/60b956dd0f824c65a1937c7a34f8bfba.png)  
 4.启动容器



docker run -it mycentos:0.1


### K8S 是什么?


Kubernetes 是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能


* 快速部署应用
* 快速扩展应用
* 无缝对接新的应用功能
* 节省资源,优化硬件资源的使用


### 没有 k8s 可以使用 docker 吗?


可以。实际上一些小型公司,在业务不太复杂的情况下都是直接使用 Docker。  
 尽管 k8s 有很多好处,但是众所周知它非常复杂,业务比较简单可以放弃使用 k8s。


**没有 Docker 可以使用 k8s 吗?**


k8s 只是一个容器编排器,没有容器拿什么编排?!  
 k8s 经常与 Docker 进行搭配使用,但是也可以使用其他容器,如RunC、Containerted 等。


**Docker Swarm 和 k8s 怎么选?**




![img](https://img-blog.csdnimg.cn/img_convert/d9e327831e2ee6df787ccbd52c7e05db.png)
![img](https://img-blog.csdnimg.cn/img_convert/d00d5f2d237dc1764f4c7a7691e8a9d5.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值