学习路径
- 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 | 命令 |