网站首页 > 基础教程 正文
一、docker基本信息
Docker是轻量级且易封装,在各环境的构建、维护等带来较多的便利。Docker作为Linux的线程虚拟化技术,其两个基座是namespace和cgroup。
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的高可用。
猜你喜欢
- 2024-10-12 Docker扫盲级别基础操作命令 docker-cn
- 2024-10-12 docker命令讲解(二) docker 命令大全
- 2024-10-12 docker 常用命令整理 docker命令菜鸟教程
- 2024-10-12 Docker必须掌握常用命令 docker常用命令及参数
- 2024-10-12 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-10-12 docker常用命令-其他常用命令 docker常用命令及参数
- 2024-10-12 聊聊 Docker 的存储 Overlay2 docker/overlay2
- 2024-10-12 Docker常用命令与构建中遇到的问题
- 2024-10-12 NVIDIA Jetson 系列文章(5):使用Docker容器的入门技巧
- 2024-10-12 一分钟学会Docker常用命令 docker常用命令大全简书
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)