Docker入门学习详细记录
一、Dockerd概述
Docker为什么出现?
一款产品有开发、上线前后两套或者更多环境,每个机器都要部署环境(集群redis、ES、Hadoop…!),配置环境麻烦易出错,且不能跨平台。
二、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、更新yum软件包索引
yum makecache fast
5、安装docker(最新版本)
yum install docker-ce docker-ce-cli containerd.io
6、启动docker
systemctl start docker
7、查看是否启动成功
docker version
8、测试
docker run hello-world
*unable to find image ‘hello-world:latest’ locally ------ 没有找到镜像
Pulling from library/hello-world ------ 下载镜像
Hello from docker ------ 安装成功
9、查看镜像的下载
docker images
了解:卸载docker
卸载依赖:yum remove docker-ce docker-ce-cli containerd.io
删除资源:rm -rf /var/lib/docker
10、配置阿里云镜像加速
登录阿里云->工作台->容器镜像服务
配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://wdm6xkay.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
11、Run的流程
12、Docker原理
Docker是什么工作的
Docker是一个client-server结构的系统,Docker的守护进程运行在主机上,通过socker客户端访问!
DockerServer接收到 Docker-Client 的指令,就会执行这个命令!
Docker为什么比VM快
1、Docker有着比虚拟机更少的抽象层
2、docker利用的是宿主机的内核,VM用的是Guest Os
新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导,虚拟机是加载Guest Os,而docker是利用宿主机的操作系统,省略了这个复杂的过程。
三、Docker的常用命令
帮助命令
docker version ----- 显示docker的版本信息
docker info ----- 显示docker的系统信息,包括镜像与容器的数量
docker 命令 --help ----- 万能命令
帮助文档地址:https://docs.docker.com/engine/reference/commandline/cli/
1、镜像命令
docker images ---- 查看所有本地主机上的镜像
[root@qingzhi ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 5 months ago 13.3kB
解释