专业编程基础技术教程

网站首页 > 基础教程 正文

Docker基本信息(1) docker常用命令详解

ccvgpt 2024-10-12 14:13:01 基础教程 10 ℃

一、docker基本信息

Docker是轻量级且易封装,在各环境的构建、维护等带来较多的便利。Docker作为Linux的线程虚拟化技术,其两个基座是namespace和cgroup。

Docker基本信息(1) docker常用命令详解

docker利用宿主机的各类namespace实现资源的隔离。docker利用宿主机的cgroup实现容器间的资源隔离,包括了blkio、cpu、cpuset、memory、net_cls、ns、perf_event,其中常用的组件是cpu与memory的限制。

二、docker相关命令

1.基本命令

docker version # 显示docker的版本

docker info # 显示docker的系统信息,包括镜像和容器的数量

docker aaaaa --help # 某一命令aaaaa的帮助信息

2.镜像相关

docker images # 查看本机上的镜像,等同于 docker image ls

docker images -a # 显示所有

docker images -q # 仅显示id

docker image --help

docker search # 搜索镜像

docker pull # 下载镜像,等同于 docker image pull,例如: docker pull tomcat:8

docker rmi # 删除镜像,等同于 docker image rm

docker rmi -f imageId

docker rmi -f imageId imageId imageId

docker rmi -f $(docker images -aq) # 删除所有镜像

exit #退出容器

docker save -o aa-server.jar k8s.jrx.com/aaa/aa-server:prd #将镜像转为jar

docker load -i aa-server.jar #就可以把镜像传到本地docker里

3.容器相关

docker run containerID # 运行容器

docker rm # 删除指定容器

docker start containerID # 启动容器

docker restart containerID    

docker stop containerID

docker kill containerID # 强制停止当前容器

docker kill $(docker ps -qa) # 停止当下所有的容器

docker top containerID #查看进程信息

三、安装

1.首先安装docker-compose

2.然后安装Harbor

3.需要先docker login登录,然后通过docker push上传镜像

docker可以通过login登录仓库harbor,并且可以通过push将镜像上传到harbor里面。

四、Docker镜像加载原理

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统称作UnionFS(联合文件系统)。

boots(boot file system)主要包含 bootloader和 Kernel, bootloader主要是引导加载kernel,Linux刚启动时会加载bootfs文件系统,在 Docker镜像的最底层是 boots。

当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由 bootfs转交给内核,此时系统也会卸载bootfs。

rootfs(root file system),在bootfs之上。包含的就是典型 Linux系统中的/dev/proc/bin/etc等标准目录和文件。

rootfs就是各种不同的操作系统发行版,比如 Ubuntu, Centos等等。

五、Docker镜像采用分层结构

资源共享!比如有多个镜像都从相同的Base镜像构建而来,那么宿主机只需在磁盘上保留一份Base镜像,在内存中仅加载一份Base镜像即可,这样就可以为所有的容器服务了,而且镜像的每一层都可以被共享。

查看镜像分层的方式可以通过docker image inspect命令。

六、Habor的高可用

Harbor前端的负载均衡,将上行流量负载到不同的harbor服务器上,可以用到Nginx、LVS、Haproxy等工具来实现。

Keepalived实现VRRP(虚拟路由冗余协议Virtual Router Redundancy Protocol),通过Keepalived,实现两台Haproxy只对外提供一个服务VIP。

Keepalived+Haproxy+Harbor实现harbor的高可用。

Tags:

最近发表
标签列表