docker 常用命令
docker version 查看版本信息
docker info 显示统信息,包括镜像和容器数
docker --help 帮助命令
docker images 查看镜像 (docker images -a 含中间镜像层)
docker rmi -f 镜像ID 删除单个镜像
docker rm 容器ID 删除单个容器
docker pull 镜像名:版本号 拉取镜像
docker run -it REPOSITORY /bin/bash 启动镜像
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射;
docker ps 查看正在运行容器
docker ps -a 查看所有容器
docker start 容器ID或者容器名 启动容器
docker restart 容器ID或者容器名 重启容器
docker stop 容器ID或者容器名 停止容器
docker kill 容器ID或者容器名 强制停止容器docker kill $(docker ps -a -q) 停用全部运行中的容器
docker rm $(docker ps -aq) 删除全部容器
docker rmi docker images -q 删除所有镜像
配置加速地址
Ubuntu 16.04+、Debian 8+、CentOS 7+
创建或修改 /etc/docker/daemon.json:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart dockerDocker
以下是一些常用的Docker指令:
docker inspect <image> 查看一个镜像的信息
docker run:创建和运行一个新的容器。
docker start:启动已停止的容器。
例如:docker start my_container将启动名为"my_container"的容器。
docker stop:停止正在运行的容器。
例如:docker stop my_container将停止名为"my_container"的容器。
docker rm:删除一个或多个容器。
docker ps:列出当前正在运行的容器。
docker images:列出本地存储的镜像。
docker pull:从Docker镜像仓库中拉取镜像。
docker push:将本地镜像推送到Docker镜像仓库。
docker exec:在正在运行的容器中执行命令。
例如:docker exec -it my_container bash将在名为"my_container"的容器中打开一个交互式终端。
docker build:根据Dockerfile构建镜像。
例如:docker build -t my_image .将使用当前目录下的Dockerfile文件构建名为"my_image"的镜像。
以下是一些与卷、网络和构建缓存相关的Docker指令:
查看卷:
docker volume ls:列出所有的卷。
docker volume inspect <volume_name>:查看特定卷的详细信息。
查看网络:
docker network ls:列出所有的网络。
docker network inspect <network_name>:查看特定网络的详细信息。
丢弃不使用的容器:
docker container prune:删除所有停止的容器。
docker container prune -f:强制删除所有停止的容器,无需确认。
丢弃不使用的镜像:
docker image prune:删除所有未被标记的镜像(没有关联的容器)。
docker image prune -a:删除所有未被使用的镜像,包括未被标记的和已停止的容器使用的镜像。
丢弃不使用的网络:
docker network prune:删除所有未被使用的网络。
清理构建缓存:
docker builder prune:删除所有未使用的构建缓存。
请注意,在执行这些命令之前,请确保你了解它们的作用,并根据需要进行确认。删除操作是不可逆的,因此在进行任何删除操作之前,请确保你不再需要相关资源。
以下是Docker中创建网络、指定IP地址和设置DNS的相关命令:
创建网络:
docker network create <network_name>:创建一个新的用户定义网络。
在网络中创建指定的IP地址: docker network create --subnet=<subnet> --gateway=<gateway> --ip-range=<ip_range> -o "com.docker.network.bridge.name"="<interface>" <network_name> ++创建一个具有指定IP范围、网关和子网掩码的网络,并将宿主机网络接口与该网络关联。++
<subnet>:子网掩码,例如"172.18.0.0/16"。
<gateway>:网关IP地址,例如"172.18.0.1"。
<ip_range>:分配给容器的IP地址范围,例如"172.18.0.0/24"。
<interface>:宿主机网络接口名称,例如"eth0"。
<network_name>:要创建的网络名称。
设置DNS服务器:
在创建网络时,可以使用--dns选项来指定DNS服务器的地址:
docker network create --dns=<dns_server_ip> <network_name>
Shell
Copy
要在Docker中将网络设置为桥接(Bridge)或主机(Host)模式,可以使用以下命令:
创建桥接网络:
docker network create --driver=bridge <network_name>
Shell
Copy
创建主机网络:
docker network create --driver=host <network_name>
Shell
Copy
请注意,选择适当的网络模式取决于你的应用需求和配置。在桥接模式下,Docker会为每个容器创建一个虚拟网络接口,并使用NAT(Network Address Translation)进行主机和容器之间的通信。而在主机模式下,容器与主机共享网络命名空间,直接使用主机的网络栈。
Docker-compose
以下是 Docker Compose 常用的指令:
docker-compose up:启动应用程序的容器。它会根据配置文件创建和启动容器,并将它们连接到定义的网络。如果没有指定服务名称,则会启动所有的服务。
docker-compose up -d:以后台模式启动应用程序的容器。
docker-compose down:停止并移除应用程序的容器、网络和卷。
docker-compose ps:显示应用程序的容器状态。
docker-compose logs:查看应用程序的容器日志。
docker-compose exec <service> <command>:在运行中的容器中执行命令。
docker-compose build:构建应用程序的容器镜像。
docker-compose pull:拉取最新的容器镜像。
docker-compose restart <service>:重启指定的服务。
docker-compose stop <service>:停止指定的服务。
docker-compose start <service>:启动指定的服务。
docker-compose scale <service>=<num>:扩展特定服务的容器数量。
docker-compose pause <service>:暂停指定的服务。
docker-compose unpause <service>:取消暂停指定的服务。
docker-compose rm <service>:移除指定的服务容器。
docker-compose config:验证并显示配置文件的语法。