Docker是一种负责创建、部署和运行应用程序的容器化技术。使用Docker可以将应用程序及其所有依赖项打包成一个单独的镜像,在任何地方运行这个镜像,而无需担心环境问题。在本文中,我们将介绍一些常用的Docker命令。
容器管理
运行容器
docker run
此命令用于新建并启动一个容器。如果本地没有对应的镜像,它会从远程拉取镜像。下面是几个示例:
docker run -d -p 80:80 nginx # 启动一个Nginx容器,并映射到主机的80端口
docker run --name my-mongo -d mongo # 启动一个MongoDB容器,并指定名称为my-mongo
列出容器
docker ps
此命令用于列出正在运行的容器。可以使用-a选项来显示所有容器,即使它们已经停止了。
docker ps # 列出正在运行的容器
docker ps -a # 列出所有容器
docker ps -f "status=exited" # 列出所有状态为exited的容器
停止容器
docker stop
此命令用于停止一个运行中的容器。如果你想立即关闭容器,可以使用docker kill命令。
docker stop my-mongo # 停止名为my-mongo的容器
docker kill my-nginx # 立即关闭名为my-nginx的容器
删除容器
docker rm
此命令用于删除一个或多个容器。如果你想删除正在运行的容器,需要先使用docker stop或docker kill命令停止容器。
docker rm my-mongo # 删除名为my-mongo的容器
docker rm $(docker ps -a -q) # 删除所有容器
镜像管理
拉取镜像
docker pull
此命令用于从Docker仓库拉取一个镜像。你可以在docker search命令中查找镜像名称。
docker pull nginx # 拉取最新版本的Nginx镜像
docker pull ubuntu:20.04 # 拉取Ubuntu 20.04版本的镜像
列出镜像
docker images
此命令用于列出本地已经下载的镜像。
docker images # 列出所有本地镜像
docker images nginx # 列出所有名称为nginx的本地镜像
删除镜像
docker rmi
此命令用于删除一个或多个本地镜像。
docker rmi nginx # 删除所有名称为nginx的本地镜像
docker rmi nginx:1.19 # 删除名称为nginx,版本为1.19的本地镜像
Docker网络
创建网络
docker network create
此命令用于创建一个新的Docker网络
docker network create my_network # 创建名为my_network的网络
列出网络
docker network ls
此命令用于列出所有Docker网络。
docker network ls # 列出所有网络
连接容器到网络
docker network connect
此命令用于将一个容器连接到一个网络中。
docker network connect my_network my-mongo # 将容器my-mongo连接到my_network网络
断开容器与网络的连接
docker network disconnect
此命令用于断开一个容器与一个网络的连接。
docker network disconnect my_network my-mongo # 断开my-mongo容器
与my_network网络的连接
Docker数据卷
创建数据卷
docker volume create
此命令用于创建一个新的Docker数据卷。
docker volume create my_volume # 创建名为my_volume的数据卷
列出数据卷
docker volume ls
此命令用于列出所有Docker数据卷。
docker volume ls # 列出所有数据卷
挂载数据卷
docker run -v
此命令用于将一个数据卷挂载到一个容器中。
docker run -d --name my-mongo -v my_volume:/data/db mongo # 将my_volume数据卷挂载到my-mongo容器的/data/db目录下
删除数据卷
docker volume rm
此命令用于删除一个或多个数据卷。
docker volume rm my_volume # 删除名为my_volume的数据卷
docker volume rm $(docker volume ls -q) # 删除所有数据卷
Docker Compose
安装Docker Compose
需要安装Docker Compose。它是一个独立的工具,可以管理多个Docker容器。
编写Docker Compose文件
在项目根目录下创建一个docker-compose.yml文件,并添加以下内容:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
上面的配置文件将启动两个服务:web和redis。其中,web服务会使用当前目录下的Dockerfile构建自己的镜像,并将容器端口5000映射到主机端口5000;redis服务则直接从Docker Hub上拉取官方Redis镜像。
启动Docker Compose
docker-compose up
此命令用于启动Docker Compose环境。
docker-compose up # 启动所有服务
docker-compose up -d # 启动所有服务,并在后台运行
停止Docker Compose
docker-compose down
此命令用于停止并删除Docker Compose环境中的所有容器。
docker-compose down # 停止并删除所有容器
以上就是一些常用的Docker命令,它们可以帮助你管理Docker容器、镜像、网络和数据卷。当然,这些命令只是冰山一角,Docker还有很多其他功能和命令,需要你去探索和学习。