Docker(一):docker概述和基本操作

工作需要学习docker特此记录
学习视频和学习顺序皆来自于B站up主遇见狂神说,只为做学习笔记
up主个人主页:https://space.bilibili.com/95256449/video 记得三连up主

docker概述

docker安装教程:https://www.bilibili.com/video/BV1og4y1q7M4?p=6(别忘了给up主三连)

docker概述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker功能

Docker(一):docker概述和基本操作_第1张图片
传统虚拟机缺点:
1、占用资源多
2、启动慢
3、冗余步骤多
Docker(一):docker概述和基本操作_第2张图片
容器和传统虚拟机不同的地方:
1、传统虚拟机,虚拟出一条硬件、运行一个完整的操作系统,然后再新的操作系统上安装和运行文件。
2、容器内的应用直接运行在宿主机上,容器没有自己的内核
3、每个容器之间相互隔离,互不影响。

优势:
1、应用更快速的交付和部署
2、更便捷的升级和扩展
3、更简单的系统运维
4、更高效的计算机资源利用

(建议读者了解一下docker的历史)

docker的基本组成

Docker(一):docker概述和基本操作_第3张图片
镜像(image):
docker镜像类似于一个模版,可以通过模板创建容器服务。
容器(container)
docker利用容器技术,独立运行一个或者一组应用
可以理解为运行镜像程序的地方
仓库(repository)
仓库是集中存放镜像的地方

docker流程

我们以helloworld为例
Docker(一):docker概述和基本操作_第4张图片
Docker(一):docker概述和基本操作_第5张图片

docker底层原理

docker是一个c/s结构的系统,Docker的守护进程运行在主机上,同个client客户端访问,server服务器执行这个指令。
Docker(一):docker概述和基本操作_第6张图片
docker为什么比vm快?
1、docker比vm拥有更少的抽象层
2、docker利用的是宿主机内核,vm需要Guest OS
Docker(一):docker概述和基本操作_第7张图片
所以说新建容器的时候,docker不需要重新家在操作系统内核。虚拟机是加载Guest OS,属于分钟级别,docker是利用宿主机操作系统,属于秒级!
Docker(一):docker概述和基本操作_第8张图片

docker基本命令

docker 命令 --help //查看命令信息
docker version //查看docker的版本信息
docker info //查看docker信息,包括镜像和容器数量

镜像命令

1、docker image 查看所有本地的主机上的镜像
在这里插入图片描述
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的ID
VREATED 镜像的创建时间
SIZE 镜像的大小

#可选项

-a,–all 列出所有镜像
-q,–quiet 只显示镜像的id

2、docker search 搜索镜像
在这里插入图片描述

-f,--filter=stares=3000   //搜索出stars大于3000的镜像

格式化选项(–format)

占位符 描述
.Name 镜像名称
.Description 镜像说明
.StarCount 镜像表述
.IsOfficial 镜像标示
.IsAutomated 是否为自己构建

Docker(一):docker概述和基本操作_第9张图片

容器命令

1、docker pull 镜像下载命令

docker pull 镜像名称下载镜像

2、新建容器并启动

docker run[可选参数] imagename
Docker(一):docker概述和基本操作_第10张图片
Docker(一):docker概述和基本操作_第11张图片
**3、列出所有运行的容器docker ps **
Docker(一):docker概述和基本操作_第12张图片
Docker(一):docker概述和基本操作_第13张图片

4、退出容器

exit  //直接容器停止并退出
Ctrl + P + Q //容器不停止退出

5、删除容器

docker rm 容器id			//删除置顶容器,不能删除正在运行的容器 如果要强制删除-f
docker rm -f $(docker ps -aq)	//删除所有的容器
docker ps -a -q|xargs docker rm		//删除所有的容器

6、启动和停止容器的操作

docker start 容器id		//启动容器
docker restart 容器id	//重启容器
docker stop 容器id		//停止当前正在运行的容器
docker kill 容器id		//强制停止当前容器

其他命令

1、docker run -d 镜像名 在后台启动容器
有一个坑:docker容器在后台运行必须要有一个前台进程,如果docker发现没有就立刻停止
2、docker logs -tf --tail number 查看日志
Docker(一):docker概述和基本操作_第14张图片

3、docker top 容器id 查看容器中的进程信息
在这里插入图片描述
4、查看镜像的元数据
docker inspect 容器id
5、进入当前正在运行的容器
方法一:
在这里插入图片描述
方法二:
在这里插入图片描述

docker exec  	//进入容器后开启一个新的终端,可以在里面操作
docker attach 	//进入容器正在执行的终端,不会启动新的进程

6、把文件从容器拷贝到主机上
命令:docker cp 容器id:容器内路径 主机路径
Docker(一):docker概述和基本操作_第15张图片

你可能感兴趣的:(docker,golang)