概述
虚拟机技术的缺点
1、占用资源多
2、隆余步骤多
3、启动慢(分钟机别)
容器技术
容器技术不是虚拟化一个完整的操作系统
比较Docker和虚拟机技术的不同:
- 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装运行软件
- 容器内的应用直接运行在数组机的内容,容器是没有自己的内核,也没有虚拟我们的硬件,所以就轻便了
- 每个容器间是相互隔离,每个容器都有一个属于自己的文件系统,互不影响
Docker安装
Docker的基本组成
安装Docker
#1、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#2、需要的安装包
yum install -y yum-utils
#3、设置镜像仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo(官方的比较慢)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里云推荐使用)
#4、安装Docker Docker-ce社区办 ee企业版
yum install docker-ce docker-ce-li containerd.io
#5、启动Docker
systemctl start docker
#6、检查是否安装成功
docker version
#7、执行hello-word
docker run hello-world
#8、查看hello-world镜像
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 11 months ago 13.3kB
了解卸载docker
#1、卸载依赖
yum remove docker-ce docker-ce-li containerd.io
#2、删除资源 /var/lib/docker docker默认工作路径
rm -rf /var/lib/docker
阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://lak3ttbj.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
回顾HelloWorld流程
底层原理
Docker常用命令
帮助命令
镜像命令
容器命令
其他命令
小结
Docker镜像讲解
什么是镜像
Docker镜像加载原理
分层理解
commit镜像
容器数据卷
什么是容器数据卷
使用数据卷
实战:安装mysql
具名和匿名挂载
初识Dockerfile
数据卷容器
Dockerfile
Dockerfile构建过程
Dockerfile的指令
实战:tomcat镜像
发布自己的镜像
1. 登录阿里云Docker Registry
$ sudo docker login --username=guoweiwei1996@163.com registry.cn-hangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
2. 从Registry中拉取镜像
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/guoweiweiimages/my:[镜像版本号]
3. 将镜像推送到Registry
$ sudo docker login --username=guoweiwei1996@163.com registry.cn-hangzhou.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/guoweiweiimages/my:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/guoweiweiimages/my:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
4. 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为Registry的域名登录。
5. 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
使用 "docker push" 命令将该镜像推送至远程。
$ sudo docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
小结
Docker网络
理解docker0
小结
–link
自定义网络
网络连通