如何启动Docker
一、Docker的安装和配置
1. 在Windows上安装Docker

(1)系统要求检查:确认你的Windows系统是否满足Docker Desktop的最低系统要求,比如支持HyperV虚拟化功能,并且是64位的Windows 10 Pro、Enterprise或Education版本(Build 15063或更高版本),或Windows 11。
(2)启用HyperV和Containers特性:
打开控制面板,选择“程序”。
点击“启用或关闭Windows功能”。
找到并勾选“HyperV”和“容器”选项。
点击“确定”并重启计算机以完成安装。

(3)下载Docker Desktop安装程序:访问Docker官网下载页面,选择对应版本点击下载安装程序。
(4)运行安装程序:双击下载的Docker Desktop安装文件,在安装向导中,根据个人喜好勾选是否希望建立Docker Desktop的快捷方式或者是否希望Docker Desktop随Windows启动等选项。
(5)完成安装并重启:完成安装向导后,重启计算机确保设置正确应用。
(6)启动Docker Desktop:在重启后,运行Docker Desktop,当它启动时,Docker图标会出现在系统托盘中,系统托盘中的Docker图标表明Docker正在运行,并可能需要一点时间来启动服务。
(7)配置Docker设置(可选):可以右键点击系统托盘中的Docker图标,选择“Settings”来调整Docker的配置,如更改镜像存储位置、设置代理服务器等。
(8)通过命令行界面测试Docker安装:打开命令提示符、Powershell或任何你喜欢的终端,输入命令docker version
来检查Docker版本,确保它已正确安装,运行docker run helloworld
来下载一个测试镜像,并在容器中运行,这可以验证Docker Daemon是否已正确启动并且可以创建容器。

2. 在macOS上安装Docker
(1)系统要求检查:确保你的Mac系统满足Docker Desktop的最低系统要求,你需要macOS的最新版本或者至少是支持的最低版本,并且Mac硬件需要是64位处理器,Docker官方建议MacOS必须是版本11或更高版本,如果版本较低,建议先升级MacOS版本。
(2)下载Docker Desktop安装程序:访问Docker官方网站的Docker Desktop for Mac下载页面,选择适配自己电脑的安装包。
(3)安装Docker Desktop:双击下载的.dmg文件以打开安装器,然后拖动Docker图标到Applications文件夹,以将Docker Desktop安装到你的Mac上。
(4)启动Docker Desktop:打开Applications文件夹并双击Docker.app以启动Docker Desktop,第一次启动时,系统可能会提示你允许加载新的系统扩展,如果看到这个提示,打开系统偏好设置,去安全性与隐私中允许加载,在随后的提示中,你需要输入Mac的密码。
3. 在Ubuntu上安装Docker
(1)更新软件包索引,并安装必要的依赖软件:
- sudo apt update
- sudo apt install apttransporthttps cacertificates curl gnupgagent softwarepropertiescommon
(2)导入源仓库的GPG key:
- curl fsSL https://download.docker.com/linux/ubuntu/gpg | sudo aptkey add
(3)添加Docker APT软件源:
- sudo addaptrepository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release cs) stable"
(4)更新软件包索引,并安装Docker CE:
- sudo apt update
- sudo apt install dockerce dockercecli containerd.io
(5)验证安装过程:运行以下命令来验证Docker是否已经成功安装:
- sudo systemctl status docker
你应该会看到类似于以下的输出:
- ● docker.service Docker Application Container Engine
- Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
- Active: active (running) since Thu 20200521 14:47:34 UTC; 42s ago
4. 在CentOS上安装Docker
(1)更新系统包并安装依赖项:
- sudo yum update y
- sudo yum install y yumutils devicemapperpersistentdata lvm2
(2)设置稳定的存储库:
- sudo yumconfigmanager addrepo https://download.docker.com/linux/centos/dockerce.repo
(3)安装Docker CE:
- sudo yum install dockerce dockercecli containerd.io
(4)启动Docker服务:
- sudo systemctl start docker
(5)设置Docker开机自启:
- sudo systemctl enable docker
(6)验证Docker是否正确安装:
- sudo docker run helloworld
输出应该显示类似如下的信息:
- Hello from Docker!
- This message shows that your installation appears to be working correctly.
- ...
二、启动和管理Docker容器
1. 启动Docker容器的方法
(1)交互方式启动容器:基于镜像新建容器并启动,可以使用以下命令启动一个交互式的Bash shell:
- docker run it my/python:v1 /bin/bash
参数解释:
i
:让容器的标准输入保持打开状态。
t
:为容器分配一个伪终端。
my/python:v1
:指定使用的镜像名和标签。
/bin/bash
:在容器内执行的命令。
(2)后台运行容器:使用d
参数可以让容器在后台运行:
- docker run d centos /bin/sh c "while true;do echo hello docker;sleep 1;done"
这条命令会每隔一秒打印一次"hello docker"。
(3)使用特定命令启动容器:例如启动一个nginx容器:
- docker run d name test nginx:latest
这条命令会在后台启动一个名为"test"的nginx容器。
2. 查看和管理容器状态
(1)查看正在运行的容器:使用docker PS
命令可以列出当前正在运行的容器:
- docker ps
输出示例:
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- d1b936779ae7 nginx:latest "/dockerentrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:80>80/tcp test
(2)查看所有容器(包括停止的):要查看所有容器,包括已经停止的,可以使用a
参数:
- docker ps a
输出示例:
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- d1b936779ae7 nginx:latest "/dockerentrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:80>80/tcp test
- e2b8f8b5e5cc nginx:latest "/dockerentrypoint.…" 10 minutes ago Exited (0) 3 minutes ago zealous_feynman
(3)查看容器日志:使用docker logs
命令可以查看容器的日志输出:
- docker logs CONTAINER_ID
查看名为"test"的容器日志:
- docker logs test
输出示例:
- Starting nginx ... done
(4)进入容器内部:使用docker exec
命令可以进入正在运行的容器内部:
- docker exec it CONTAINER_ID /bin/bash
进入名为"test"的容器:
- docker exec it test /bin/bash
此命令会启动一个交互式的Bash shell,让你可以在容器内部进行操作。
(5)停止容器:使用docker stop
命令可以优雅地停止一个容器:
- docker stop CONTAINER_ID
停止名为"test"的容器:
- docker stop test
使用docker kill
命令可以强制停止一个容器:
- docker kill CONTAINER_ID
强制停止名为"test"的容器:
- docker kill test
(6)重启容器:使用docker restart
命令可以重启一个容器:
- docker restart CONTAINER_ID
重启名为"test"的容器:
- docker restart test
你还可以通过dockercompose
来管理多个容器,以下是一个简单的例子:
创建一个名为dockercompose.yml
的文件,内容如下:
- version: '3'
- services:
- web:
- image: nginx:latest
- ports:
- "80:80"
然后在包含该文件的目录中运行以下命令启动所有服务:
- dockercompose up d
使用dockercompose down
命令可以停止并删除所有由dockercompose.yml
定义的服务:
- dockercompose down
使用docker stats
命令可以查看所有容器的资源使用情况:
- docker stats
输出示例:
- CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
- d1b936779ae7 test 0.05% 1.343MB / 2GB 0.06% 1.2kB / 2.4kB 0B / 0B 0