如何搭建Docker环境
创始人
2024-03-24 06:45:05
0

Docker 是一种虚拟化技术,基于 Linux 的容器机制(Linux Containers,简称 LXC),可以把它近似地理解成是一个“轻量级的虚拟机”,只消耗较少的资源就能实现对进程的隔离保护

使用 Docker 可以把应用程序和它相关的各种依赖(如底层库、组件等)“打包”在一起,这就是 Docker 镜像(Docker image)。Docker 镜像可以让应用程序不再顾虑环境的差异,在任意的系统中以容器的形式运行(当然必须要基于 Docker 环境),极大地增强了应用部署的灵活性和适应性

宿主机环境

Ubuntu 18.04 x86_64

安装Docker环境

推荐官方的安装方式

sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

因为 Docker 是国外网站,直接从官网安装速度可能比较慢

所以还可以选择国内的镜像网站来加快速度,像这里就使用 “–mirror” 选项指定了“阿里云”

操作 Docker 必须要有 sudo 权限,安装完之后,检查是否安装成功

sudo docker version

在这里插入图片描述

获取Docker镜像

用的是 “docker pull” 命令

sudo docker pull ubuntu:18.04

从 docker 仓库拉取到一个精简版的 Ubuntu 18.04 镜像

可以用 “docker images” 来查看结果,列出目前宿主机本地的所有镜像

sudo docker images

启动Docker容器

可以用 “docker run” 命令

sudo docker run -it --rm ubuntu:18.04

“-it” 参数表示开启一个交互式的 Shell 终端,默认使用的是 bash

“–rm” 参数表示容器是“用完即扔”,不保存容器实例,一旦退出 Shell 就会自动删除容器(但不会删除镜像),免去了管理容器的麻烦。否则退出容器后,使用 “sudo docker ps -a” 命令还是可以看到一个已退出的容器被列出来

还有其它一些参数

“-v” 表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

“-p" 指定对外的网络端口

“docker run” 之后,就会像虚拟机一样进入容器的运行环境,身份也自动变成了 root 用户

退出容器,使用 “exit” 命令

在Docker容器里做实验

这里根据自己的实际情况,尽情做实验吧

有一点要注意的是:

在容器里生成的文件,在容器关闭后就会消失,所以还要用 “docker cp” 命令及时从容器里拷出来(指定容器的 ID,用 “docker ps -a” 查看)

打开另一个终端查看

sudo docker ps -a

接着拷贝容器里的文件到宿主机,例如

sudo docker cp 732597f4db9b:/hello.txt ./

删除容器

对于已经退出了的容器,如果用 “sudo docker ps -a” 还能看到容器 ID 的话

说明之前运行容器时没有加 “–rm” 参数,此时可以这样删除容器,带上容器 ID

sudo docker rm aa35aeefa2c9

删除镜像

删除完容器之后,还可以删除镜像(”容器“是”镜像“运行时的状态)

使用 “docker rmi” 删除镜像,带上镜像 ID

sudo docker rmi a8780b506fa4

Docker中的网络

Docker 的网络功能相对简单,没有过多复杂的配置,Docker 默认使用 birdge 桥接方式与容器通信。

启动 Docker 后,宿主机上会产生 docker0 这样一个虚拟网络接口,docker0 不是一个普通的网络接口, 它是一个虚拟的以太网桥,可以为绑定到 docker0 上面的网络接口自动转发数据包,这样可以使容器与宿主机之间相互通信。

每次 Docker 创建一个容器,会产生一个虚拟接口,在宿主机上执行 ifconfig,会发现多了一个类似 vethxxxxxxx 这样的网络接口,它会绑定到 docker0 上,由于所有容器都绑定到 docker0 上,所以容器之间也就可以通信。

在这里插入图片描述

小结

今天介绍了 Docker 实验环境的搭建,再小结一下要点

Docker 是一种非常流行的虚拟化技术,可以近似地把它理解成是一个“轻量级的虚拟机”

可以用 “docker pull” 命令从 Docker Hub 上获取相应的 Docker 镜像文件

可以用 “docker run” 命令从镜像启动一个容器,里面是完整的 XXX 环境

参考

https://time.geekbang.org/column/article/283892

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...