Docker 是一个用于开发、交付和运行应用程序的平台,且提供了一系列命令来管理镜像、容器、网络和存储卷等资源。
docker生命周期相关命令
这些命令用于管理容器的生命周期,包括创建、启动、停止、删除等。
docker run
创建并启动一个容器。
[root@lutixia ~]# docker run -d --name mynginx nginx
ef5dc799dc80574836c550118fcfcb804af342cc4dbf9fa76599155c3095c6f3
[root@lutixia ~]#
docker stop
停止一个运行中的容器。
[root@lutixia ~]# docker stop mynginx
mynginx
[root@lutixia ~]#
docker start
启动一个已经存在的容器。
[root@lutixia ~]# docker start mynginx
mynginx
[root@lutixia ~]#
docker restart
重启一个运行中的容器。
docker restart mynginx
docker rm
删除一个已停止的容器。
[root@lutixia ~]# docker stop mynginx
mynginx
[root@lutixia ~]#
[root@lutixia ~]# docker rm mynginx
mynginx
docker ps
列出当前所有运行的容器。
[root@lutixia ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1ce0b642a10 kindest/node:v1.27.3 "/usr/local/bin/entr…" 9 months ago Up About an hour 127.0.0.1:42103->6443/tcp kind-control-plane
be4ff1a2dce3 kindest/node:v1.27.3 "/usr/local/bin/entr…" 9 months ago Up About an hour kind-worker
bce1a252b960 kindest/node:v1.27.3 "/usr/local/bin/entr…" 9 months ago Up About an hour kind-worker2
列出所有容器(包括停止的)。
docker ps -a
docker镜像相关命令
这些命令用于管理 Docker 镜像,包括构建、拉取、删除等。
docker build
从 Dockerfile 构建一个新的镜像。
docker build -t myimage:latest .
docker pull
从 Docker Hub 或其他仓库拉取一个镜像。
docker pull nginx
docker push
将本地镜像推送到远程仓库(需要先登录)。
docker push myimage:latest
docker images
列出本地所有镜像。
[root@lutixia ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kindest/node <none> 6e360fda99b5 12 months ago 850MB
nginx latest eeb9db34b331 2 years ago 134MB
busybox 1.28 89a35e2ebb6b 6 years ago 1.28MB
docker rmi
删除一个本地镜像。
[root@lutixia ~]# docker rmi busybox:1.28
Untagged: busybox:1.28
Untagged: busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47
Deleted: sha256:89a35e2ebb6b938201966889b5e8c85b931db6432c5643966116cd1c28bf45cd
Deleted: sha256:f4fc038e206e02964abd937c8071a34f1838e0693d2f38657b7d96528bd6dbaa
[root@lutixia ~]#
docker容器相关命令
这些命令用于操作和管理容器内的进程和文件系统。
docker exec
在一个运行中的容器中执行命令。
[root@lutixia ~]# docker run -d --name mynginx nginx
5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b
[root@lutixia ~]#
[root@lutixia ~]# docker exec -it mynginx /bin/bash
root@5408a427e547:/#
docker logs
查看容器的日志。
[root@lutixia ~]# docker logs mynginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
docker inspect
查看容器的详细信息。
[root@lutixia ~]# docker inspect mynginx
[
{
"Id": "5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b",
"Created": "2024-06-15T06:56:38.001113943Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
...
docker cp
在本地文件系统和容器之间复制文件。
[root@lutixia ~]# docker cp mynginx:/etc/nginx/nginx.conf /tmp/
Successfully copied 2.56kB to /tmp/
[root@lutixia ~]#
docker网络网络命令
这些命令用于管理 Docker 的网络,包括创建、查看和删除网络等。
docker network ls
列出所有 Docker 网络。
[root@lutixia ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9e5b87fe35d0 bridge bridge local
ea1cedb0b9bd host host local
218aeeb09820 kind bridge local
c16474a0eb15 none null local
docker network create
创建一个新的网络。
[root@lutixia ~]# docker network create mynetwork
c39babe9b3f988d64e4e2766c84d2e855a4e031d616ee2ac2b791ee8f470218d
docker network inspect
查看网络的详细信息。
[root@lutixia ~]# docker inspect network mynetwork
[
{
"Name": "mynetwork",
"Id": "c39babe9b3f988d64e4e2766c84d2e855a4e031d616ee2ac2b791ee8f470218d",
"Created": "2024-06-15T15:01:21.931487302+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
...
docker network connect
将一个容器连接到一个网络。
[root@lutixia ~]# docker network connect mynetwork mynginx
[root@lutixia ~]# docker inspect network mynetwork | grep -iC 2 containers
},
"ConfigOnly": false,
"Containers": {
"5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b": {
"Name": "mynginx",
docker network disconnect
将一个容器从一个网络断开。
[root@lutixia ~]# docker network disconnect mynetwork mynginx
[root@lutixia ~]#
[root@lutixia ~]# docker inspect network mynetwork | grep -iC 2 Containers
},
"ConfigOnly": false,
"Containers": {},
docker存储卷相关命令
这些命令用于管理 Docker 的存储卷,包括创建、挂载和删除卷等。
docker volume ls
列出所有存储卷。
docker volume ls
docker volume create
创建一个新的存储卷。
docker volume create myvolume
docker volume inspect
查看存储卷的详细信息。
docker volume inspect myvolume
docker volume rm
删除一个存储卷。
docker volume rm myvolume
挂载存储卷到容器
在创建容器时,将存储卷挂载到容器中。
docker run -d --name mynginx -v myvolume:/data nginx
这些命令涵盖了 Docker 的主要操作,能够帮助你高效地管理镜像、容器、网络和存储卷。
上一条:Docker启动与停止
下一条:Docker详解
品质保证
多年的生产力软件专家
专业实力
资深技术支持项目实施团队
安全无忧
多位认证安全工程师
多元服务
软件提供方案整合,项目咨询实施
购软平台-找企业级软件,上购软平台。平台提供更齐全的软件产品、更专业的技术服务,同时提供行业资讯、软件使用教程和技巧。购软平台打造企业级数字产品综合应用服务平台。用户体验和数字类产品的专业化服务是我们不断追求的目标。购软平台您身边的企业级数字产品优秀服务商。