目录
0.前提
本文章意在告诉各位开发者学生有一个工具能够方便你未来的项目开发和部署,这也是我在给我留下一份备份,在我忘记的时候可以回头寻找。
更新一个比较好的视频:docker是什么?和kubernetes(k8s)是什么关系?_哔哩哔哩_bilibili
1.docker简介
docker本身就有集装箱的意思。Docker: Accelerated Container Application Development
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。在百度百科上能很快的找到有关docker的简介。
注释:沙盒(sandbox),计算机专业术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。沙盒通常严格控制其中的程序所能访问的资源,比如,沙盒可以提供用后即回收的磁盘及内存空间。在沙盒中,网络访问、对真实系统的访问、对输入设备的读取通常被禁止或是严格限制。从这个角度来说,沙盒属于虚拟化的一种。沙盒中的所有改动对操作系统不会造成任何损失。
2.对比容器和虚拟机
容器和虚拟机有相似的资源隔离和分配优势,对比虚拟机来说容器虚拟化的是操作系统而不是硬件。因此容器拥有更加便携和高效的优势。
1.容器
容器是应用程序层面的虚拟化,将工程和依赖打包放入到一个集装箱当中。多个容器可以在同一台机器上运行,并与其他容器共享操作系统的内核,每个容器都作为一个单独隔离的空间进行运行。容器占用的空间极少(通常情况下才几十mb)。
2.虚拟机
虚拟机(VM),应该有不少人用过vmware吧,虚拟机就是将一台服务器变成多台服务器的一种虚拟化。一台主机上可以运行多台虚拟机程序。每一台虚拟机都包含了操作系统、应用程序等,每一台虚拟机程序的内存占用都是以GB计算的。
这里我就不再过多废话了,因为要扯docker的架构、运行机制的话我能扯一堆,自己感兴趣就去官网看吧:Docker: Accelerated Container Application Development
3.docker的安装
我相信比起我逼逼赖赖,去到官网查阅到详细的下载流程要更加实在。我在这里更像一个引导者,告诉你这个东西很好,但使用权依然在你手上。
Install Docker Desktop on Linux | Docker Docs
当然使用下面这个神奇代码一样能安装好doncker。
wget http://fishros.com/install -O fishros && . fishros
4.docker服务命令
1.docker服务的开启
sudo service docker start
2.docker服务的停止
sudo service docker stop
3.docker服务的重启
sudo service docker restart
4.docker服务强制停止(这里就不演示了)
sudo service docker kill
5.docker镜像
1.查看本地镜像
sudo docker images
注释:
·REPOSITORY:镜像的仓库源
·TAG:镜像信息
·IMAGE ID:镜像ID
·CREATED:镜像创建时间
·SIZE:镜像大小
2.获取镜像
sudo docker pull [镜像库地址/镜像名:版本]
示例:
sudo docker pull ubuntu
3.删除镜像
docker rmi [镜像id]
4.镜像查找
docker search [镜像]
6.docker容器
1.容器运行
docker run -it [镜像]
注释:
·i:以交互模式运行容器
·t:给容器分配一个虚拟终端
2.查看正在运行的容器
docker ps
3.退出容器
exit #停止容器退出
ctrl+p+q #不停止容器退出