Docker常用命令

2023-04-14 17:24:32 4580

Docker常用命令

帮助命令

docker indo #显示docker系统信息,包括镜像和容器的数量
docker
--help #docker的版本信息
docker version
#docker帮助命令

帮助文档地址:

镜像命令

docker images 查看所有本地主机上的镜像

[16:24:31 root@hwcentos7 ~]#docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
hello-world   latest   feb5d9fea6a5  
18 months ago   13.3kB

#解释:
REPOSITORY
镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像ID
CREATED 镜像的创建时间
SIZE 镜像的大小

#可选项
 
-a, --all             Show all images (default hides intermediate images)
 
-q, --quiet           Only show image IDs 只显示ID

docker search 搜索镜像

[16:35:00 root@hwcentos7 ~]#docker search mysql
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation…  
13980     [OK]
mariadb                         MariaDB Server is a high performing open sou…  
5329     [OK]

#可选项

docker pull 下载镜像

#可选项
 
-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 mysql[:tags]
#不指定版本 默认下载最新的
[16:37:33 root@hwcentos7 ~]
#docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete
#分层级下载
93619dbc5b36: Pull complete
99da31dd6142: Pull complete
626033c43d70: Pull complete
37d5d7efb64e: Pull complete
ac563158d721: Pull complete
d2ba16033dad: Pull complete
688ba7d5c01a: Pull complete
00e060b6d11d: Pull complete
1c04857f594f: Pull complete
4d7cfa90e6ea: Pull complete
e0431212d27d: Pull complete
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
#防伪标识
Status: Downloaded newer image
for mysql:latest
docker.io/library/mysql:latest
#真实目录

#指定版本下载
[16:44:25 root@hwcentos7 ~]
#docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Already exists
#已存在的层级不用重新下载
93619dbc5b36: Already exists
99da31dd6142: Already exists
626033c43d70: Already exists
37d5d7efb64e: Already exists
ac563158d721: Already exists
d2ba16033dad: Already exists
0ceb82207cd7: Pull complete
37f2405cae96: Pull complete
e2482e017e53: Pull complete
70deed891d42: Pull complete
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image
for mysql:5.7
docker.io/library/mysql:5.7

[16:47:59 root@hwcentos7 ~]
#docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        
5.7       c20987f18b13   15 months ago   448MB
mysql         latest   3218b38490ce  
15 months ago   516MB
hello-world   latest   feb5d9fea6a5  
18 months ago   13.3kB

docker rmi 删除镜像

[16:48:44 root@hwcentos7 ~]#docker rmi -f c20987f18b13
Untagged: mysql:5.7
Untagged: mysql@sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Deleted: sha256:c20987f18b130f9d144c9828df630417e2a9523148930dc3963e9d0dab302a76
Deleted: sha256:6567396b065ee734fb2dbb80c8923324a778426dfd01969f091f1ab2d52c7989
Deleted: sha256:0910f12649d514b471f1583a16f672ab67e3d29d9833a15dc2df50dd5536e40f
Deleted: sha256:6682af2fb40555c448b84711c7302d0f86fc716bbe9c7dc7dbd739ef9d757150
Deleted: sha256:5c062c3ac20f576d24454e74781511a5f96739f289edaadf2de934d06e910b92

docker rmi
-f $(docker images -aq) #删除全部镜像

容器命令

有了镜像才可以使用容器

docker安装一个centos学习

docker pull centos

新建容器并启动

docker run [可选参数] image

#可选参数
--name="Name" 指定容器名字
-d 后台运行
-it 使用交互方式运行
-p 指定容器的端口 -p 8080:8080
-p 主机端口:容器端口 主机和容器端口的映射
-p ip主机端口:容器端口
-P 随机指定端口

#测试

列出所有运行的容器

docker ps 命令
#列出当前正在运行的容器
-a #列出所有的容器,包括历史的
-n=? #列出最近使用的几个容器
-q #只显示容器ID

[09:48:21 root@hwcentos7 ~]
#docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES
[09:48:38 root@hwcentos7 ~]
#docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED             STATUS                     PORTS     NAMES
8b564e71aa56   centos        
"/bin/bash"   About a minute ago   Exited (0) 19 seconds ago             jolly_tharp
6d9203bc679f   feb5d9fea6a5  
"/hello"      18 hours ago         Exited (0) 18 hours ago               agitated_babbage

退出容器

exit 退出容器并停止

ctrl+p+q 退出容器不停止

删除容器

docker rm #不能删除正在运行的 -f可强制删除
docker
rm -f $(docker ps -aq)

启动和停止容器

docker start 容器ID #启动容器
docker restart 容器ID #重启容器
docker stop 容器ID #停止正在运行的容器
docker kill 容器ID #强制停止

常用其他命令

查看日志

docker logs

-tf  #显示日志
--tail number #显示日志条数

查看容器中的进程

docker top 容器ID

查看镜像的元数据

docker inspect 容器ID

进入当前正在运行的容器

#方式一 进入容器后打开新的终端
docker exec
-it 容器ID /bin/bash
#方式二 正在执行当前的代码 没有打开新的终端
docker attach
容器ID

从容器内拷贝文件到主机

docker cp 容器ID:容器内文件路径 目的主机路径

docker volume 查看所有卷的情况

所有的docker容器内的卷,都在/var/lib/docker/volumes/下

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: