docker使用时经常用到的各种命令
容器生命周期管理
run - 创建并启动一个新的容器。
-d:后台运行容器,并返回容器ID;
–name: 为容器指定一个名称;
–privileged:指定容器是否为特权容器,特权容器拥有所有的capabilities(权限)
start/stop/restart - 这些命令主要用于启动、停止和重启容器。
kill - 立即终止一个或多个正在运行的容器
rm - 于删除一个或多个已经停止的容器。
pause/unpause - 暂停和恢复容器中的所有进程。
create - 创建一个新的容器,但不会启动它。
exec - 在运行中的容器内执行一个新的命令。
-it 在运行中的 my_container 容器内启动一个交互式的 Bash shell。-i 保持标准输入打开,-t 分配一个伪终端。
容器操作
ps - 列出 Docker 容器(运行中)
-a (包括不在运行的)
-l(查看端口映射情况)
inspect - 获取 Docker 对象(容器、镜像、卷、网络等)的详细信息。
top - 显示指定容器中的正在运行的进程。
attach - 允许用户附加到正在运行的容器并与其交互。
events - 获取 Docker 守护进程生成的事件。
logs - 获取和查看容器的日志输出。
wait - 允许用户等待容器停止并获取其退出代码。
export - 将容器的文件系统导出为 tar 归档文件。
port - 显示容器的端口映射信息。
stats - 实时显示 Docker 容器的资源使用情况。
rename - 容器重命名。
容器的root文件系统(rootfs)命令
commit - 允许用户将容器的当前状态保存为新的 Docker 镜像。
cp - 用于在容器和宿主机之间复制文件或目录。
diff - 显示 Docker 容器文件系统的变更。
镜像仓库
login
pull
push
search
本地镜像管理
images - 列出本地的 Docker 镜像。
rmi - 删除不再需要的镜像。
build
history
save
load
import
info|version
info - 显示 Docker 的系统级信息,包括当前的镜像和容器数量。
version - 显示 Docker 客户端和服务端的版本信息。
tag <old_name> <new_name> -镜像重命名
网络命令
docker network ls: 列出所有网络。
docker network create <network>: 创建一个新的网络。
docker network rm <network>: 删除指定的网络。
docker network connect <network> <container>: 连接容器到网络。
docker network disconnect <network> <container>: 断开容器与网络的连接。
卷命令
docker volume ls: 列出所有卷。
docker volume create <volume>: 创建一个新的卷。
docker volume rm <volume>: 删除指定的卷。
docker volume inspect <volume>: 显示卷的详细信息。
端口映射
映射容器内应用的服务端口到本地宿主主机,使得外部可以通过访问宿主机来访问容器内应用
-将容器的TCP端口8080绑定到主机的TCP端口80上
sudo docker run -p 127.0.0.1:80:8080 <image> <cmd>
-将容器的TCP端口8080绑定到主机上的一个动态分配的TCP端口上
sudo docker run -p 127.0.0.1::8080 <image> <cmd>
-将容器的TCP端口8080绑定到主机的所有可用网络接口上的TCP端口80
sudo docker run -p 80:8080 <image> <cmd>
-将容器的TCP端口8080绑定到主机的所有可用网络接口上的动态分配的TCP端口上
sudo docker run -p 8080 <image> <cmd>