docker常用命令
Docker 是一个用于开发、交付和运行应用程序的平台,且提供了一系列命令来管理镜像、容器、网络和存储卷等资源。
docker生命周期相关命令
这些命令用于管理容器的生命周期,包括创建、启动、停止、删除等。
docker run
创建并启动一个容器。
docker run -d —name mynginx nginx ef5dc799dc80574836c550118fcfcb804af342cc4dbf9fa76599155c3095c6f3
docker stop
停止一个运行中的容器。
docker stop mynginx
mynginx
docker start
启动一个已经存在的容器。
docker start mynginx
mynginx
docker restart
重启一个运行中的容器。
docker restart mynginx
docker rm
删除一个已停止的容器。
docker stop mynginx
mynginx
docker rm mynginx
mynginx
docker ps
列出当前所有运行的容器。
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
删除一个本地镜像。
docker rmi busybox:1.28
Untagged: busybox:1.28
Untagged: busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47
Deleted: sha256:89a35e2ebb6b938201966889b5e8c85b931db6432c5643966116cd1c28bf45cd
Deleted: sha256:f4fc038e206e02964abd937c8071a34f1838e0693d2f38657b7d96528bd6dbaa
docker容器相关命令
这些命令用于操作和管理容器内的进程和文件系统。
docker exec
在一个运行中的容器中执行命令。
docker run -d —name mynginx nginx
5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b
docker exec -it mynginx /bin/bash
root@5408a427e547:/#
docker logs
查看容器的日志。
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
查看容器的详细信息。
docker inspect mynginx
[
{
"Id": "5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b",
"Created": "2024-06-15T06:56:38.001113943Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
...
docker cp
在本地文件系统和容器之间复制文件。
docker cp mynginx:/etc/nginx/nginx.conf /tmp/
Successfully copied 2.56kB to /tmp/
docker网络网络命令
这些命令用于管理 Docker 的网络,包括创建、查看和删除网络等。
docker network ls
列出所有 Docker 网络。
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
创建一个新的网络。
docker network create mynetwork
c39babe9b3f988d64e4e2766c84d2e855a4e031d616ee2ac2b791ee8f470218d
docker network inspect
查看网络的详细信息。
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
将一个容器连接到一个网络。
docker network connect mynetwork mynginx
docker inspect network mynetwork | grep -iC 2 containers
},
"ConfigOnly": false,
"Containers": {
"5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b": {
"Name": "mynginx",
docker network disconnect
将一个容器从一个网络断开。
docker network disconnect mynetwork mynginx
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
