Docker-常用命令大全(附命令详解)

在这里插入图片描述


更多相关内容可查看

Docker命令千千万,但本篇足以应对日常工作及面试需求并会不断补充,每一个命令都会介绍详细,尽可能保证每一个读完文章的小伙伴都能理解与应用

个人理解:Docker中的镜像可以理解为你要运行某应用或者某系统所需要的环境,容器可以理解为虚拟机

Docker 基础命令

查看docker 运行状态

systemctl status docker

运行中:
在这里插入图片描述

关闭docker

systemctl stop docker

在这里插入图片描述

启动docker

systemctl start docker

重启docker

systemctl restart docker

docker设置随服务启动而自启动

systemctl enable docker

查看docker 版本号信息

docker version
docker info

在这里插入图片描述

docker 帮助命令

docker --help

例如:对镜像的命令忘记

docker image --help

在这里插入图片描述

docker 镜像命令

查看自己服务器中docker 镜像列表

docker images

在这里插入图片描述

搜索镜像

docker search 镜像名

这个命令用来在Docker Hub上搜索名为mysql的镜像,mysqlmariadb是官方镜像(标记为[OK]),星级(STARS)表示了镜像的受欢迎程度,星级越高,表示这个镜像被更多的人使用和推荐。

在这里插入图片描述

docker search --filter=STARS=9000 mysql 

搜索 STARS >9000的 mysql 镜像

在这里插入图片描述

拉取镜像

不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

docker pull 镜像名 
docker pull 镜像名:tag

拉取一个tomcat玩一下

docker pull tomcat

在这里插入图片描述

运行镜像

docker run 镜像名
docker run 镜像名:Tag

运行一下刚才拉取的tomcat吧

docker run tomcat

在这里插入图片描述
运行后 出现tomcat 默认占用的8080 端口 说明该镜像已经是启动了

保存镜像

将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

docker save tomcat -o /myimg.tar

在这里插入图片描述

删除镜像

#删除一个
docker rmi -f 镜像名/镜像ID

#删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

#删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)

强制删除镜像

docker image rm 镜像名称/镜像ID

删除我们刚才拉取的tomcat

docker rmi -f tomcat

在这里插入图片描述

加载镜像

任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像

docker load -i 镜像保存文件位置

加载我们保存在根目录下的tomcat

docker load -i myimg.tar

在这里插入图片描述

镜像标签

在工作中有开发环境、测试环境、生产环境以及版本迭代,就可以利用标签来进行区分

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG

# 如果省略TAG 则会为镜像默认打上latest TAG
docker tag aaa bbb
# 上方操作等于 docker tag aaa:latest bbb:test

给tomcat打上dev(开发环境)的标签

docker tag tomcat tomcat:dev

在这里插入图片描述

Docker 容器命令

查看正在运行容器列表

docker ps

查看所有容器

包含正在运行 和已停止的

docker ps -a

在这里插入图片描述

运行一个容器

# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行)  --name 给要运行的容器 起的名字  /bin/bash  交互路径
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash 

例如我们要启动一个redis 把它的别名取为redisText 并交互式运行

#1. 拉取redis 镜像
docker pull redis
#2.命令启动
docker run -it -d --name redisText redis /bin/bash

在这里插入图片描述

外部访问测试

这个命令是示系统中所有正在监听的 TCP 和 UDP 连接,以及这些连接关联的进程

netstat -untlp

会发现没有6379的进程

原因是:占用的6379端口 仅仅是在容器中内部本身的端口,与宿主机的6379端口并无联系,我们通过宿主机Ip:6379访问此redis示例是访问不到的

容器端口映射

1.首先停止容器

# 先停止咱之前运行的 redis 容器 
docker stop 容器名/容器ID

在这里插入图片描述

2.删除容器

# 先删除咱之前创建的 redis 容器 
docker rm 容器名/容器ID

在这里插入图片描述

3.端口映射

-p 宿主机端口:容器端口

docker run -itd --name redisText -p 8888:6379 redis /bin/bash

在这里插入图片描述

-p 8888:6379 解析 将容器内部的 6379端口与docker 宿主机(docker装在哪台服务器 哪台服务器就是宿主机)8888 端口进行映射 那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了
在这里插入图片描述

进入容器

docker exec -it 容器名/容器ID /bin/bash

#进入 前面的 redisText 容器   
docker exec -it redisText /bin/bash

在这里插入图片描述

退出容器

#-----直接退出  未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭  
exit
# 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
Ctrl + p + q

停止容器

docker stop 容器ID/容器名

重启容器

docker restart 容器ID/容器名

启动容器

docker start 容器ID/容器名

kill 容器

docker kill 容器ID/容器名

容器文件拷贝

无论容器是否开启 都可以进行拷贝

#docker cp 容器ID/名称:文件路径  要拷贝到外部的路径   |     要拷贝到外部的路径  容器ID/名称:文件路径
#从容器内 拷出
docker cp 容器ID/名称: 容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker  cp 容器外路径 容器ID/名称: 容器内路径

查看容器日志

docker logs -f --tail=要查看末尾多少行 默认all 容器ID

在这里插入图片描述

容器自启动

启动容器时,使用docker run命令时 添加参数–restart=always 便表示,该容器随docker服务启动而自动启动

docker run -itd --name redis002 -p 8888:6379 --restart=always  redis /bin/bash

在已有的容器怎么设置自启动

docker  update --restart=always 容器Id 或者 容器名

或

docker container update --restart=always 容器Id 或者 容器名

在这里插入图片描述

更换容器名

docker rename 容器ID/容器名 新容器名

在这里插入图片描述

  • 27
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来一杯龙舌兰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值