Docker常用命令

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Docker常用命令

       整理了一些 Docker 常用的基础命令。

搜索镜像

       使用 search 命令可以搜索存放在 docker hub 上的镜像。

      命令格式如下:

% docker search --help
Usage:  docker search [OPTIONS] TERM
Search the Docker Hub for images
Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output

     例如:

% docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10712     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4029      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   785                  [OK]
percona                           Percona Server is a fork of the MySQL relati…   529       [OK]       
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   87                   
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   80                   
centurylink/mysql                 Image containing mysql. Optimized to be link…   59                   [OK]
bitnami/mysql                     Bitnami MySQL Docker Image                      50                   [OK]


下载镜像

      使用 docker pull 可以从 docker registry( docker 注册中心)中下载镜像。

       命令格式如下:

% docker pull --help
Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Pull an image or a repository from a registry
Options:
  -a, --all-tags                Download all tagged images in the repository
      --disable-content-trust   Skip image verification (default true)
      --platform string         Set platform if server is multi-platform capable
  -q, --quiet                   Suppress verbose output

       例如:

% docker pull nginx      
Using default tag: latest
latest: Pulling from library/nginx
a076a628af6f: Already exists 
0732ab25fa22: Pull complete 
d7f36f6fe38f: Pull complete 
f72584a26f32: Pull complete 
7125e4df9063: Pull complete 
Digest: sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

列出镜像

       使用 docker images 可以查看已经下载到本地的镜像。

       命令如下:

% docker images --help
Usage:  docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print images using a Go template
      --no-trunc        Don't truncate output
  -q, --quiet           Only show image IDs

      例如:

docker images -a
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
mysql        latest    c8562eaf9d81   2 months ago   546MB
redis        latest    621ceef7494a   2 months ago   104MB
nginx        latest    f6d0b4767a6c   2 months ago   133MB

删除本地的镜像

      使用 docker rmi 命令即可删除本地镜像。

% docker rmi --help
Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
Options:
  -f, --force      Force removal of the image
      --no-prune   Do not delete untagged parents

      例如:

% docker rmi nginx
Untagged: nginx:latest
Untagged: nginx@sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa
Deleted: sha256:f6d0b4767a6c466c178bf718f99bea0d3742b26679081e52dbf8e0c7c4c42d74
Deleted: sha256:4dfe71c4470c5920135f00af483556b09911b72547113512d36dc29bfc5f7445
Deleted: sha256:3c90a0917c79b758d74b7040f62d17a7680cd14077f734330b1994a2985283b8
Deleted: sha256:a1c538085c6f891424160d8db120ea093d4dda393e94cd4713e3fff3c82299b5
Deleted: sha256:a3ee2510dcf02c980d7aff635909612006fd1662084d6225e52e769b984abeb5
% docker images --all
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
mysql        latest    c8562eaf9d81   2 months ago   546MB
redis        latest    621ceef7494a   2 months ago   104MB

创建并运行容器

      使用 docker run 命令可以创建并运行一个容器。

% docker run --name nginx-test -p 8088:80 -d nginx
e9e3294f533923438a1bae551b2013d90916488f9e0cc0953282a593d06bf03b

--name:给容器命名

-p:进行端口映射 8088 为映射后的物理机的端口号,80 为 docker 容器的端口

-d:是后台容器

      用浏览器访问本地的 8088 端口,可以看到 nginx 的默认页。

查看容器

        可以通过 docker ps 查看运行中的容器。

      命令如下:

% docker ps --help
Usage:  docker ps [OPTIONS]
List containers
Options:
  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show n last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display container IDs
  -s, --size            Display total file sizes

     例如:

% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                  PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes            0.0.0.0:8088->80/tcp   nginx-test

停止容器

      可以使用 docker stop 来停止运行中的容器。

       命令如下:

% docker stop --help        
Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers
Options:
  -t, --time int   Seconds to wait for stop before killing it (default 10)

     命令如下:

% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS          PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   8 minutes ago   Up 35 seconds   0.0.0.0:8088->80/tcp   nginx-test
% docker stop e9e3294f5339
e9e3294f5339
% docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

强制停止docker容器

      使用 docker kill 来停止 docker 的容器。

       命令如下:

% docker kill --help
Usage:  docker kill [OPTIONS] CONTAINER [CONTAINER...]
Kill one or more running containers
Options:
  -s, --signal string   Signal to send to the container (default "KILL")

       例如:

% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   11 minutes ago   Up 3 seconds   0.0.0.0:8088->80/tcp   nginx-test
% docker kill e9e3294f5339
e9e3294f5339
% docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

启动停止的容器

      可以使用 docker start 来启动被 stop 或 kill 的容器。

% docker start --help
Usage:  docker start [OPTIONS] CONTAINER [CONTAINER...]
Start one or more stopped containers
Options:
  -a, --attach               Attach STDOUT/STDERR and forward signals
      --detach-keys string   Override the key sequence for detaching a container
  -i, --interactive          Attach container's STDIN

      例如:

% docker start e9e3294f5339
e9e3294f5339
% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   14 minutes ago   Up 5 seconds   0.0.0.0:8088->80/tcp   nginx-test

重启容器

       可以使用 docker restart 来完成 docker stop 和 docker start 两个命令的工作

       命令如下:

% docker restart --help
Usage:  docker restart [OPTIONS] CONTAINER [CONTAINER...]
Restart one or more containers
Options:
  -t, --time int   Seconds to wait for stop before killing the container (default 10)

       例如:

% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   16 minutes ago   Up 2 minutes   0.0.0.0:8088->80/tcp   nginx-test
% docker restart e9e3294f5339
e9e3294f5339
% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   17 minutes ago   Up 3 seconds   0.0.0.0:8088->80/tcp   nginx-test

       是否进行了重启,可以查看status字段。

进入容器

       可以使用 docker exec 进入容器进行管理。

       命令如下:

 % docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   38 minutes ago   Up 14 minutes   0.0.0.0:8088->80/tcp   nginx-test
% docker exec -it e9e3294f5339 /bin/bash
root@e9e3294f5339:/# uname -r
4.19.121-linuxkit

删除容器

       可以使用 docker rm 来删除容器。

       命令如下:

% docker rm --help
Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
  -f, --force     Force the removal of a running container (uses SIGKILL)
  -l, --link      Remove the specified link
  -v, --volumes   Remove anonymous volumes associated with the container

       例如:

% docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
e9e3294f5339   nginx     "/docker-entrypoint.…"   56 minutes ago   Up 33 minutes   0.0.0.0:8088->80/tcp   nginx-test
% docker stop e9e3294f5339
e9e3294f5339
% docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
% docker ps -all
CONTAINER ID   IMAGE     COMMAND                  CREATED      STATUS                  PORTS     NAMES
5669d0d7c177   mysql     "docker-entrypoint.s…"   7 days ago   Exited (0) 5 days ago             mysql-new

总结

      上面的命令,基本上就把常用的对于镜像和容器的命令进行了整理。希望对你有帮助。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
安全 Docker 容器
|
18天前
|
网络安全 数据安全/隐私保护 Docker
|
6天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
17天前
|
存储 监控 安全
|
2月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
|
17天前
|
存储 关系型数据库 MySQL
|
25天前
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
587 1
|
27天前
|
安全 网络安全 开发者
Docker学习笔记(一):Docker命令总结
本文介绍了Docker的基本概念、优点以及常用命令。Docker是一个开源的应用容器引擎,它通过容器打包应用程序及其依赖项,实现快速部署和迁移。主要优点包括轻量级、可移植性、易于管理、安全性和开源性。文章还区分了镜像和容器的概念,并提供了构建镜像、查看容器、运行容器、停止和删除容器等常用Docker命令的示例。
124 0
|
1月前
|
Linux 网络安全 Docker
安装后无法使用 Docker 命令
【10月更文挑战第3天】
142 2
|
1月前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
下一篇
无影云桌面