Docker 常用命令教程
Docker 是一个强大的工具,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中。掌握 Docker 的常用命令对于高效使用 Docker 至关重要。以下是 Docker 常用命令及其参数的介绍,以及一些实战案例。
Docker 常用命令参数介绍
1. docker run
创建并启动一个容器。
-d
: 后台运行容器。-it
: 交互式终端。--name
: 指定容器名称。-p
: 端口映射,格式为主机端口:容器端口
。-e
: 设置环境变量。--link
: 链接到另一个容器。
2. docker ps
列出当前运行的容器。
-a
: 显示所有容器(包括未运行的)。
3. docker stop
/ docker start
停止或启动一个或多个容器。
- 容器 ID 或名称作为参数。
4. docker rm
删除一个或多个容器。
- 容器 ID 或名称作为参数。
5. docker rmi
删除一个或多个镜像。
- 镜像 ID 或名称作为参数。
6. docker logs
获取容器的日志输出。
- 容器 ID 或名称作为参数。
7. docker exec
在运行的容器中执行命令。
- 容器 ID 或名称作为参数。
8. docker build
根据 Dockerfile 构建镜像。
-t
: 指定镜像的标签。
9. docker pull
从镜像仓库拉取一个镜像或仓库。
10. docker push
将一个镜像或仓库推送到镜像仓库。
实战案例
1. 运行 Nginx 容器
docker run -d --name my-nginx -p 8080:80 nginx
这个命令会在后台启动一个名为 my-nginx
的 Nginx 容器,并将容器的 80 端口映射到主机的 8080 端口。
2. 运行 MySQL 容器
docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql
这个命令会在后台启动一个名为 my-mysql
的 MySQL 容器,并设置环境变量 MYSQL_ROOT_PASSWORD
。
3. 查看容器日志
docker logs my-nginx
这个命令会显示 my-nginx
容器的日志输出。
4. 进入容器
docker exec -it my-nginx bash
这个命令会打开一个交互式终端,让你进入 my-nginx
容器内部。
5. 删除容器
docker rm my-nginx
这个命令会删除名为 my-nginx
的容器。
6. 构建自己的镜像
假设你有一个 Dockerfile
在当前目录,你可以使用以下命令构建镜像:
docker build -t my-image .
这个命令会根据当前目录下的 Dockerfile
构建一个名为 my-image
的镜像。
7. 推送镜像到 Docker Hub
docker push my-image
这个命令会将本地的 my-image
镜像推送到 Docker Hub。
8. 使用 Docker Compose 部署应用
创建一个 docker-compose.yml
文件,内容如下:
version: '3'
services:
web:
image: "nginx:latest"
ports:
- "8080:80"
db:
image: "mysql:latest"
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
然后运行:
docker-compose up
这个命令会根据 docker-compose.yml
文件启动所有服务。
通过这些命令和案例,你应该能够开始使用 Docker 进行容器化应用的开发和部署。更多高级用法和案例,可以参考 Docker 官方文档或社区提供的教程。