1.核心思想
隔离:通过隔离机制,既可以保障每个"集装箱里面的东西"是互不影响的,也可以将服务器的资
源压榨到最大程度。
2.开发语言
Go
3.官方文档
Docker Documentation | Docker DocumentationHome page for Docker's documentationhttps://docs.docker.com
4. docker hub:
Docker Hubhttps://hub.docker.com/
1. VM虚拟出完整的操作系统,而docker直接运行在宿主机的内核上,没有自己的内核和虚拟硬件,所以更加小巧轻便。
2. VM是操作系统级别的虚拟化docker是内核级别的虚拟化。
3. VM 比docker更重,更消耗资源,启动速度远远慢于docker。
4. docker可以实现快速的运维部署。
5. docker更便捷的升级和扩窑/缩容。
6. 可以更高效的利用物理机的硬件资源
官方安装步骤: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
官网文档链接: https://docs.docker.com/reference/
2.1 查看下载的镜像列表
docker images
2.2 重新加载docker
sudo systemctl daemon-reload
2.3 重启docker
sudo systemctl restart 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] #强制停止
**************此文章只是本人学习过程中的学习笔记,不做其他用途,如果有其他意见,欢迎一起讨论,谢谢,侵删*************************