一、基本知识
1.核心思想
隔离:通过隔离机制,既可以保障每个"集装箱里面的东西"是互不影响的,也可以将服务器的资
源压榨到最大程度。
2.开发语言
Go
3.官方文档
4. docker hub:
Docker Hubhttps://hub.docker.com/
二、docker和虚拟机的区别
1. VM虚拟出完整的操作系统,而docker直接运行在宿主机的内核上,没有自己的内核和虚拟硬件,所以更加小巧轻便。
2. VM是操作系统级别的虚拟化docker是内核级别的虚拟化。
3. VM 比docker更重,更消耗资源,启动速度远远慢于docker。
4. docker可以实现快速的运维部署。
5. docker更便捷的升级和扩窑/缩容。
6. 可以更高效的利用物理机的硬件资源
三、docker使用
1.安装docker
官方安装步骤:https://docs.docker.com/get-started/overview/
1.1 安装前的准备阶段— — 卸载老版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1.2 使用仓库进行安装
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
1.3 安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
1.4 启动docker
sudo systemctl start docker
1.5 验证docker引擎是否安装完毕
sudo docker run hello-world
1.6 配置docker国内镜像地址(加快镜像下载速度)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":
["https://aa25jngun.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.docker启动相关命令
官网文档链接: https://docs.docker.com/reference/
2.1 查看下载的镜像列表
docker images
2.2 重新加载docker
sudo systemctl daemon-reload
2.3 重启docker
sudo systemctl restart docker
3.docker基础命令
3.1 查看版本
docker version
3.2 显示docker信息
docker info
3.3 帮助命令(一个命令不知道可以添加哪些参数,可以使用--help 进行查询)
docker [命令] --help
例:docker version --help
docker info --help 等
4.docker镜像命令
4.1 显示本机所有镜像
docker images
4.2 搜索镜像(也可以在docker hub上直接搜索 Docker Hub)
docker search xxx
例:docker search mysql 搜索结果如下:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 11409 [OK]
mariadb MariaDB Server is a high performing open sou… 4334 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 847 [OK]
4.3 下载镜像
docker pull xxx [版本]
注:版本为可选项,不指定下载最新
4.4 删除镜像
#根据id删除某一个镜像
docker rmi -f [IMAGE ID]
#根据ids删除很多镜像,空格分隔
docker rmi -f [IMAGE ID] [IMAGE ID] [IMAGE ID] [IMAGE ID]
#根据查询结果进行删除(查询结果只能是id) q参数为只显示id
docker rmi -f $(docker images -aq)
5.docker容器命令
5.1 查询运行中的docker容器(类似于linux中的ps)
docker ps #只显示正在运行的容器
docker ps -a #显示所有的容器包括已经停止的
5.2 查看容器的top信息 查询容器id可以使用 docker ps -a 命令
docker top [容器id]
5.3 查看容器元数据信息
docker inspect [容器id]
5.4 进入容器
docker attach [容器id]
5.5 退出容器
exit #退出容器,回到宿主机,同时结束容器运行
CTRL + D #与exit相同
CTRL+P+Q #退出容器,回到宿主机,不影响容器运行
5.6 将主机中的文件拷贝到容器中
docker cp 本地文件 [容器id]:容器中路径
5.7 将容器中的文件拷贝到主机中
docker cp [容器id]:容器中文件 本地路径
5.8 查看容器状态(类似于linux的top命令,近乎实时刷新)
docker stats
5.9 运行容器
docker run [可选参数] image
常用参数:
-it 交互式 启动之后进入容器
-d 后台启动容器
-v 进行路径映射
-p 进行端口映射
5.10 查询容器列表
docker ps [OPTIONS]
5.11 删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER ... ]
-f 强制删除
5.12 启动容器
docker start [容器id]
docker restart [容器id]
5.13 停止容器
docker stop [容器id]
docker kill [容器id] #强制停止
**************此文章只是本人学习过程中的学习笔记,不做其他用途,如果有其他意见,欢迎一起讨论,谢谢,侵删*************************