docker

docker常用命令

来源公众号:运维朱工 2024年06月16日 09:21 浙江

Docker 是一个用于开发、交付和运行应用程序的平台,且提供了一系列命令来管理镜像、容器、网络和存储卷等资源。

docker生命周期相关命令

这些命令用于管理容器的生命周期,包括创建、启动、停止、删除等。

  1. docker run 创建并启动一个容器。

    [root@lutixia ~]# docker run -d --name mynginx nginx
    ef5dc799dc80574836c550118fcfcb804af342cc4dbf9fa76599155c3095c6f3
    [root@lutixia ~]#
  2. docker stop 停止一个运行中的容器。

    [root@lutixia ~]# docker stop mynginx
    mynginx
    [root@lutixia ~]#
  3. docker start 启动一个已经存在的容器。

    [root@lutixia ~]# docker start mynginx
    mynginx
    [root@lutixia ~]#
  4. docker restart 重启一个运行中的容器。

    docker restart mynginx
  5. docker rm 删除一个已停止的容器。

    [root@lutixia ~]# docker stop mynginx
    mynginx
    [root@lutixia ~]#
    [root@lutixia ~]# docker rm mynginx
    mynginx
  6. 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
  7. 列出所有容器(包括停止的)。

    docker ps -a

docker镜像相关命令

这些命令用于管理 Docker 镜像,包括构建、拉取、删除等。

  1. docker build 从 Dockerfile 构建一个新的镜像。

    docker build -t myimage:latest .
  2. docker pull 从 Docker Hub 或其他仓库拉取一个镜像。

    docker pull nginx
  3. docker push 将本地镜像推送到远程仓库(需要先登录)。

    docker push myimage:latest
  4. 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
  5. 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容器相关命令

这些命令用于操作和管理容器内的进程和文件系统。

  1. docker exec 在一个运行中的容器中执行命令。

    [root@lutixia ~]# docker run -d --name mynginx nginx
    5408a427e54782c451b2e06011633ff103b155b5dac98ecf46bef6c71292b81b
    [root@lutixia ~]#
    [root@lutixia ~]# docker exec -it mynginx /bin/bash
    root@5408a427e547:/#
  2. 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
  3. 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;"
        ],
        ...
  4. docker cp 在本地文件系统和容器之间复制文件。

    [root@lutixia ~]# docker cp mynginx:/etc/nginx/nginx.conf /tmp/
    Successfully copied 2.56kB to /tmp/
    [root@lutixia ~]#

docker网络网络命令

这些命令用于管理 Docker 的网络,包括创建、查看和删除网络等。

  1. 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
  2. docker network create 创建一个新的网络。

    [root@lutixia ~]# docker network create mynetwork
    c39babe9b3f988d64e4e2766c84d2e855a4e031d616ee2ac2b791ee8f470218d
  3. 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,   
        ...
  4. 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",
  5. 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 的存储卷,包括创建、挂载和删除卷等。

  1. docker volume ls 列出所有存储卷。

    docker volume ls
  2. docker volume create 创建一个新的存储卷。

    docker volume create myvolume
  3. docker volume inspect 查看存储卷的详细信息。

    docker volume inspect myvolume
  4. docker volume rm 删除一个存储卷。

    docker volume rm myvolume
  5. 挂载存储卷到容器 在创建容器时,将存储卷挂载到容器中。

    docker run -d --name mynginx -v myvolume:/data nginx

这些命令涵盖了 Docker 的主要操作,能够帮助你高效地管理镜像、容器、网络和存储卷。

版权声明:
作者:kukey-admin
链接:http://kuyour.top/index.php/2024/08/11/docker/
来源:KuKey
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
docker
docker常用命令 来源公众号:运维朱工 2024年06月16日 09:21 浙江 Docker 是一个用于开发、交付和运行应用程序的平台,且提供了一系列命令来管理镜像、容器、网……
<<上一篇
下一篇>>