如何启动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
