Docker系列(三):Docker的常用命令

Docker的常用命令

Docker的帮助文档: https://docs.docker.com/engine/reference/run/

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

查看镜像

docker images

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   13 months ago   13.3kB

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

# 可选项
	-a, --all      # 列出所有的镜像
	-q, --quiet    # 只显示镜像的id

搜索镜像

docker search

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker search redis
NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                            Redis is an open source key-value store that…   9134      [OK]   
# 解释
NAME  镜像名称
DESCRIPTION   镜像的描述
STARS    镜像的stars ,类似github的start
OFFICIAL     是否为官方镜像
AUTOMATED 自动构建。

#可选项
--automated :只列出 automated build类型的镜像;
--no-trunc :显示完整的镜像描述;
-f <过滤条件>:列出收藏数不小于指定值的镜像。 docker search -f=stars=9000 redis 

拉取镜像

docker pull

具体tag 版本查看: https://hub.docker.com/

# 拉取 tag版本为:8.0.23 的mysql 镜像,如果不指定版本,默认拉最新的
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker pull mysql:8.0.23
8.0.23: Pulling from library/mysql
a076a628af6f: Pull complete 
f6c208f3f991: Pull complete 
88a9455a9165: Pull complete 
406c9b8427c6: Pull complete 
7c88599c0b25: Pull complete 
25b5c6debdaf: Pull complete 
43a5816f1617: Pull complete 
1a8c919e89bf: Pull complete 
9f3cf4bd1a07: Pull complete 
80539cea118d: Pull complete 
201b3cad54ce: Pull complete 
944ba37e1c06: Pull complete 
Digest: sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c
Status: Downloaded newer image for mysql:8.0.23
docker.io/library/mysql:8.0.23

#在次查看服务器的镜像
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         8.0.23    c8562eaf9d81   5 weeks ago     546MB
hello-world   latest    bf756fb1ae65   13 months ago   13.3kB

Docke 删除本地镜像

docker rmi

#强制删除本地 hello-world 镜像 -f:强制删除;
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker rmi -f hello-world 
Untagged: hello-world:latest
Untagged: hello-world@sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
Deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
容器命令

**docker run :**创建一个新的容器并运行一个命令

#先拉取nginx 到本地镜像中,有了镜像我们才能创建容器
[root@iZ2zeixqaqrvghrgvk058mZ ~]# 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
#后台启动本地的nginx 容器,并命名为 nginx-997
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker run --name nginx-997 -p 80:80 -d nginx
647081828a92616cf554953cf58f46f52533365544763f21f550d568d3c18938
#解释 
-name nginx-997:容器名称。
-p 80:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
-it        使用交互方式运行,进入容器查看区分
-p         指定容器的端口 -p 8080:8080
    -p ip:主机端口:容器端口
    -p 主机端口:容器端口(常用)
    -p 容器端口
    容器端口
-P                 随机指定端口
image-20210223103814554

docker ps 查看当前运行中的容器

docker ps -a 查看所有容器,包括停止的

#查看当前运行中的容器
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS              PORTS                NAMES
647081828a92   nginx     "/docker-entrypoint.…"   2 minutes ago   Up About a minute   0.0.0.0:80->80/tcp   nginx-997
#查看所有容器,包括停止的
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                      PORTS                NAMES
647081828a92   nginx          "/docker-entrypoint.…"   3 minutes ago    Up 3 minutes                0.0.0.0:80->80/tcp   nginx-997
0de93942f757   nginx          "/docker-entrypoint.…"   20 minutes ago   Exited (0) 14 minutes ago                        nginx-996
aca18ef99549   bf756fb1ae65   "/hello"                 12 hours ago     Exited (0) 12 hours ago                          optimistic_meninsky

docker stop :停止一个运行中的容器

#查看运行中的容器
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                NAMES
647081828a92   nginx     "/docker-entrypoint.…"   9 minutes ago   Up 9 minutes   0.0.0.0:80->80/tcp   nginx-997
#停止 CONTAINER ID 为647081828a92 的容器
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker stop 647081828a92
647081828a92

docker start :启动一个或多个已经被停止的容器

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker start nginx-997
nginx-997

docker restart :重启容器

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker restart nginx-997 
nginx-997

docker kill 强制停止容器

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker kill nginx-997 
nginx-997

删除容器

# 删除指定容器,不能删除正在运行的容器,如果要强制删除 
rm -f[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker rm -f 
#解释
docker rm 容器id                  
docker rm -f $(docker ps -aq)    # 删除所有的容器
docker ps -aq|xargs docker rm    # 删除所有的容器
其他命令

docker inspect 查看镜像元数据

docker exec -it 容器id baseShell || docker attach 容器id

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                NAMES
290c141bc1d4   nginx     "/docker-entrypoint.…"   23 seconds ago   Up 23 seconds   0.0.0.0:80->80/tcp   nginx-997
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker exec -it 290c141bc1d4 /bin/bash
root@290c141bc1d4:/# ls
bin  boot  dev	docker-entrypoint.d  docker-entrypoint.sh  etc	home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker attach 290c141bc1d4

# docker exec        # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach      # 进入容器正在执行的终端,不会启动新的进程

docker cp [r] 容器id :容器内路径 目的地主机路径

#进入容器 新建一个test.java 文件
root@290c141bc1d4:/# cd home/
root@290c141bc1d4:/home# ls
root@290c141bc1d4:/home# touch test.java 
root@290c141bc1d4:/home# ls
#从容器内向宿主机cp
[root@iZ2zeixqaqrvghrgvk058mZ ~]# docker cp 290c141bc1d4:/home/test.java  /home/
#cp 完成
[root@iZ2zeixqaqrvghrgvk058mZ home]# ls
test.java
总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值