docker
docker与虚拟机的区别
虚拟机是模拟硬件创建虚拟操作系统,运行多个虚拟机就是运行多个操作系统,docker还是使用宿主机的操作系统
容器与镜像
- 镜像是程序安装包,容器是运行中的程序,一个镜像可以run出多个容器
常用命令
1 | 我们可以使用 |
构建镜像
dockerfile
- FROM:
一个dockerfile必须以FROM指令开始
作用:指定基础镜像 - COPY
作用:将你宿主机 (你电脑) 上的文件或目录,复制到镜像内部。
1 | #格式: COPY [宿主机路径] [镜像内路径] |
- RUN
作用:在构建镜像的过程中,执行 shell 命令(比如安装软件)。 - EXPOSE
作用:声明这个容器在运行时,会监听哪个端口。 - ENTRYPOINT:定义容器的“主程序(入口)”。
- CMD:定义默认参数。
如果 ENTRYPOINT 存在,CMD 的内容会作为参数传给 ENTRYPOINT。如果 ENTRYPOINT 不存在,CMD 才会作为主程序。
容器网络类型
docker安装后,会创建三个网络
使用network ls查看
可以看到默认情况下有bridge、host、none这三种网络类型
- none:本地环回网络,无法连接互联网
- bridge网络:容器默认使用的网络类型,这是桥接网络,也是应用最广泛的网络类型
就像容器单独插了一根虚拟的网线,连接到Docker创建的虚拟网络上,而docker0网络实际上作为一个桥接的角色,一头是自己的虚拟子网,另一头是宿主主机的网络。 - host网络: 当容器连接到此网络后,会共享宿主主机的网络,网络配置也是完全一样的:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 EurekaYu!
评论

