学习路径
- Docker概述
 - Docker安装
 - Docker命令
- 镜像命令
 - 容器命令
 - 操作命令
 - ……
 
 - Docker镜像
 - 容器数据卷
 - DockerFile
 - Docker网络原理
 - IDEA整合Docker
 - Docker Compose
 - Docker Swarm
 - CI/CD jenkins
 
Docker概述
Docker出现的原因:开发与运维之间的矛盾
Docker的核心思想:隔离;打包装箱,每个箱子都是相互隔离的
Ubuntu 上 Docker的安装
1  | 1、卸载旧的版本  | 
验证添加钥匙是否成功

查看Docker是否安装成功

测试Docker里的镜像 hello-world

Dockerd的卸载
1  | 1、卸载依赖  | 
底层原理
Docker是怎么工作的?
Docker 是一个 Client-Server 结构的系统,Docker 的守护进程运行在主机上,通过Socket从客户端访问!
DockerServer 接收到 Docker-Client 的指令,就会执行这个命令!
Docker为什么比VM快
- Docker 有着比虚拟机更少的抽象层
 - Docker利用的是宿主机的内核,VM需要的是Guest OS
 
所以说,新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导操作。虚拟机是加载 Guest OS,分钟级别,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!
Docker的常用命令
帮助命令
1  | docker version # 显示docker的版本信息  | 
### 镜像命令
$ docker images # 查看所有本地的主机上的镜像
1  | docker images # 查看所有本地的主机上的镜像  | 
$ docker search # 搜索镜像
1  | yfaqh@yfaqh-virtual-machine:~/Desktop$ sudo docker search mysql  | 
docker pull 镜像名[:tag] # 下载镜像
1  | docker pull mysql # 如果不写tag,默认就是latest,即最新版本  | 
docker rmi # 删除镜像
1  | docker rmi -f 镜像id # 删除指定的镜像  | 
容器命令
说明:有了镜像才可以创建容器,Linux,下载一个CentOS镜像进行测试
docker pull centos
新建容器并启动
1  | docker run [可选参数] images  | 
列出所有运行的容器
1  | docker ps  | 
退出容器
1  | exit # 直接容器停止并退出  | 
删除容器
1  | dockers rm 容器id # 删除指定容器,不能删除正在运行的容器,如果要强制删除,用rm -f  | 
启动和停止容器的操作
1  | docker start 容器id # 启动容器  | 
常用其他命令
后台启动容器
1  | 命令 docker run -d 镜像名  | 
查看日志
1  | docker logs -t -f --tail 容器 # 没有日志  | 
查看容器中的进程信息
1  | 命令  | 
查看镜像的元数据
1  | 命令  | 
进入当前正在运行的容器
1  | 通常,容器都是使用后台方式运行的,需要进入容器,修改一些配置  | 
从容器内拷贝文件到主机上
1  | 命令  |