Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker 的主要用途,目前有三大类。

(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

基本使用

拉取镜像
1
docker pull 镜像名
运行镜像
1
docker run -d 镜像名
查看本地镜像
1
2
docker images  # 查看本地所有的镜像
docker images –q # 仅显示镜像id,常用于批量删除镜像
查看当前容器状态
1
2
3
docker ps  # 查看正在运行的容器
docker ps –a # 查看所有容器
docker ps –qa # 仅显示 id 号,常用于批量删除容器
暂停容器
1
2
docker pause CONTAINER [CONTAINER]   # 暂停
docker unpause CONTAINER [CONTAINER] # 恢复
停止容器
1
2
3
docker stop CONTAINER [CONTAINER]  # 停止
docker start CONTAINER [CONTAINER] # 启动
docker restart CONTAINER [CONTAINER] # 重启

问题

1. 安装Docker Desktop后,启动时Failed to set version to docker-desktop: exit code: -1的解决方法

以管理员身份运行终端,然后输入这个命令后重启计算机

1
netsh winsock reset
2. Docker Desktop stopped 问题解决方案

在Docker Desktop界面中按如下顺序点击

1
Troubleshoot(右上角setting左边的按钮) --> Clean / Purge data --> click on wsl 2 and delete
3. Docker Desktop 问题:unable to resolve docker endpoint

这个问题出现的原因应该是因为安装过 docker toolbox,然后卸载了docker toolbox之后又安装了docker desktop,出现的这个问题。

解决方案是删除 环境变量中的相关变量设置就可以了,具体步骤如下(window10):

1
2
3
4
5
6
7
#右键点击"此电脑"->左键点击"属性"->左键点击"高级系统设置"->点击"高级"-"环境变量"->删除"xx的用户变量"中的以下变量
COMPOSE_CONVERT_WINDOWS_PATHS
DOCKER_CERT_PATH
DOCKER_HOST
DOCKER_MACHINE_NAME
DOCKER_TLS_VERIFT
NO_PROXY