[笔记]docker入门《二》之 docker介绍

12 篇文章 2 订阅


前言

一、Docker的相关概念

1.1 Docker的定义

  • 使用最广泛的开源容器引擎
  • 一种操作系统级的虚拟化技术
  • 依赖于Linux内核特性: Namespace(资源隔离)和 Cgroups(资源限制)
  • —个简单的应用程序打包工具

1.2 Docker组成

在这里插入图片描述

Dokcer Client

管理Docker的工具、Docker命令。

Docker Host

Docker主机
守护进程处理Client发出的指令

1.3 镜像管理

1.3.1 镜像的定义

在这里插入图片描述
总之,镜像就是一个模板,安装到操作系统后,操作系统就有镜像里的内容以及镜像的所有容器,同时一次性拥有tomcat/nginx/mysql等进程。

镜像就是仓库里已经配置的容器。

1.3.2 配置加速器

docker run -d nginx

访问国外网站时 下载会很慢 所以配置加速器会快一些
在这里插入图片描述
默认是从https://hub.docker.com拉取镜像的

注意:刚安装docker /etc/docker./daemon.json是不存在内容的

{
	"registry-mirrors":
		["https://b9pmyelo.mirror.aliyun.com"]
}

注意:以上地址使用的是阿里云的镜像加速器,需要自己在阿里云控制台获取最新地址。(控制台-容器镜像服务-镜像工具-镜像加速器)

systemctl restart docker # 重启docker
docker info # 查看docker信息

在这里插入图片描述
配置加速器成功

1.3.3 常见管理命令

在这里插入图片描述

save导出

docker save [image-name] -o [outname]

例如:

docker save redis -o redis.tar

scp命令
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

load 导入

docker load -i [outname]

例如:

docker load -i redis.tar

1.4 容器管理

在这里插入图片描述

保存的容器:/var/lib/docker/containers/
保存的镜像:/var/lib/docker/overlay2/

创建容器常用选项

在这里插入图片描述
在这里插入图片描述

-d 和-it -d区别
-p publish

发布到服务器

docker run -d -p 88:80 nginx #服务器的88映射到容器的80端口
进入一个命名为web的nginx容器内创建html访问

创建名为web的docker nginx容器

docker run -d -e env=prod -p 88:80 --name web -h web --restart=always nginx

停止容器,有端口占用

docker stop [container_id]

重启容器

docker restart web

进入web容器

docker exec -it web bash

在这里插入图片描述
成功访问
在这里插入图片描述

常用管理命令

在这里插入图片描述

commit

dockerfile: 镜像->文件,dockerfile->镜像

status

在这里插入图片描述

ps

在这里插入图片描述

rm

在这里插入图片描述

容器数据持久化

在这里插入图片描述

数据两种挂载方式(volumn/mount)

在这里插入图片描述
将宿主机目录挂载到docker目录

制作镜像原则在这里插入图片描述

jenkins、gitlab使用docker都是采用-v将仲们自身产生的数据持久化宿主机

容器网络

在这里插入图片描述

  • veth pair:成对出现的一种虚拟网络设备,数据从一端进,从另一端出。用于解决网络命名空间之间隔离。

  • docker0:网桥是一个二层网络设备,通过网桥可以将Linux支特的不同的端口连接起来,并实现类以交换机那样的多对多的通信。

在这里插入图片描述

外部访问容器

在这里插入图片描述

DNAT: 目标网络地址转换

容器访问外部

在这里插入图片描述
SNAT:源网络地址转换

1.5 Dockerfile构建镜像

在这里插入图片描述

dockerfile概述

Dockeri通过Dockerfile自动构建镜像,Dockerfile是一个包含用于组建镜像的文本文件,由一条一条的指令组成。

在这里插入图片描述

dockerfile常用指令

在这里插入图片描述

构建镜像命令

构建nginx镜像

在这里插入图片描述

构建tomcat镜像

1.7 镜像仓库

#

Harbor概述

Harbor 是由VMWare 公司开源的容器镜像仓库。事实上,Harbor是在Docker Registry上进行了相应的企业级扩展从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/DAP集成以及审计日志等,足以满足基本企业需求。

官方:https://goharbor.io/
Github:https://github.com/goharbor/harbor

Harbor部署

在这里插入图片描述

Harbor基本使用

在这里插入图片描述

docker compose 命令

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二进制怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值