Docker 有多个命令,用于管理容器、镜像、网络、卷等资源。以下是一些常用的Docker命令,列出了一些主要功能和用例:
-
容器命令:
docker run
:创建和启动一个新容器。# 在端口8080中后台运行镜像为nginx:latest的容器mynginx docker run -t -d --name mynginx -p 8080:80 nginx:latest
docker start
:启动一个或多个已停止的容器。以下mynginx可替换成对应的容器ID# 启动一个容器 docker start mynginx # 启动所有容器 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker stop
:停止一个正在运行的容器。# 停止一个容器 docker stop mynginx # 停止全部容器 docker stop $(docker ps -aq) docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)`
docker restart
:重启一个容器。docker restart mynginx
docker pause
:暂停一个容器的进程。docker pause mynginx
docker unpause
:取消暂停一个容器的进程。docker unpause mynginx
docker exec
:在运行的容器中执行命令。docker exec -it mynginx bash
docker rm
:删除一个或多个容器。# 删除一个容器 docker rm mynginx # 删除所有容器 docker rm $(docker ps -aq) docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker ps
:列出正在运行的容器。docker ps -a
:列出所有容器,包括停止的。docker logs
:查看容器的日志输出。docker logs -f mynginx
docker stats
:查看容器的资源使用情况。docker top
:查看容器内部进程的信息。docker top mynginx
-
镜像命令:
docker images
:列出所有镜像。docker pull
:从镜像仓库拉取一个镜像。docker pull nginx:latest
docker build
:从Dockerfile构建一个新镜像。docker build -t myapp:1.0.0 -f /root/myapp/ .
docker push
:将镜像推送到镜像仓库。# 给本地镜像myapp:1.0.0打标签,yourusername/myapp:latest为 [DockerHub](https://hub.docker.com/) 的用户名和镜像 docker tag myapp:latest yourusername/myapp:latest # 推送镜像 docker push yourusername/myapp:latest
docker rmi
:删除一个或多个镜像。# 删除一个镜像 docker rmi mynginx # 删除所有镜像 docker rmi $(docker images | awk '{print $3}' |tail -n +2)
docker history
:查看镜像的历史记录。docker history nginx
-
网络命令:
docker network ls
:列出所有网络。docker network create
:创建一个新网络。docker network create mynetwork
docker network connect
:将容器连接到网络。docker network connect mynetwork mynginx
docker network disconnect
:从网络中断开容器。docker network disconnect mynetwork mynginx
-
卷命令:
docker volume ls
:列出所有卷。docker volume create
:创建一个新卷。docker volume create mydata
docker volume rm
:删除一个或多个卷。docker volume rm mydata
docker volume inspect
:查看卷的详细信息。docker volume inspect mydata
-
其他命令:
docker info
:显示Docker系统信息。docker version
:显示Docker版本信息。docker-compose
:用于管理多容器应用的工具(需要安装Docker Compose)。# 查看版本信息 docker-compose -v # 以后台模式启动Compose定义的所有容器 docker-compose up -d # 停止Compose定义的所有容器,但不会删除它们 docker-compose stop # 停止并移除Compose定义的所有容器、网络和卷 docker-compose down
查看哪些容器用了哪个镜像
# docker ps -a --filter "ancestor=<IMAGE_ID_OR_NAME>"
docker ps -a --filter "ancestor=nginx:latest"
复制容器文件
# docker cp <Source> <Target>
docker cp mynginx:/etc/nginx/nginx.conf /var/lib/docker_colume/nginx/conf/nginx.conf
设置阿里镜像源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
重启docker
systemctl daemon-reload;
systemctl restart docker;