运行 Docker 镜像的步骤如下,我会分阶段详细说明:
安装 Docker
apt-get install docker-ce
)验证安装
docker --version # 查看版本
docker run hello-world # 测试运行
bash
docker pull nginx:latest
bash
docker images # 查看已有镜像
bash
docker run [OPTIONS] IMAGE_NAME[:TAG]
常用选项:
选项 | 作用 | 示例 |
---|---|---|
-d |
后台运行 | docker run -d nginx |
-p |
端口映射 | -p 8080:80 (主机:容器) |
--name |
指定容器名 | --name my_nginx |
-v |
数据卷挂载 | -v /host/path:/container/path |
-e |
设置环境变量 | -e MYSQL_ROOT_PASSWORD=123 |
完整示例:
bash
docker run -d -p 8080:80 --name my_web nginx:latest
bash
docker ps # 查看运行中的容器
curl http://localhost:8080 # 访问服务(或浏览器打开)
进入容器终端:
docker exec -it my_web /bin/bash # 交互式进入
查看日志:
docker logs my_web # 输出日志
docker logs -f my_web # 实时跟踪
停止/删除容器:
docker stop my_web # 停止
docker rm my_web # 删除(需先停止)
docker rmi nginx # 删除镜像
端口冲突
Bind for 0.0.0.0:8080 failed: port is already allocated
权限问题(Linux 下)
Got permission denied while trying to connect to Docker daemon
docker
组:
bash
sudo usermod -aG docker $USER
newgrp docker # 刷新组权限
镜像拉取失败
Error response from daemon: pull access denied
bash
docker login
使用 docker-compose
(适合多容器场景)
编写 docker-compose.yml
文件后运行:
docker-compose up -d
清理无用资源
docker system prune # 清理停止的容器、悬空镜像等
镜像版本管理
latest
标签,明确指定版本(如 nginx:1.23-alpine
)。通过以上步骤,你可以高效地运行和管理 Docker 镜像。遇到具体问题时,可结合 docker --help
和日志进一步排查。