用多少眼泪才能让你相信 发表于 2024-8-17 07:26:13

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

https://img-blog.csdnimg.cn/direct/3fbffac9a1d54c57b110534856b3b094.png#pic_center


更多干系内容可检察
Docker命令千千万,但本篇足以应对日常工作及口试需求并会不断补充,每一个命令都会介绍具体,尽可能保证每一个读完文章的小伙伴都能理解与应用
个人理解:Docker中的镜像可以理解为你要运行某应用大概某体系所需要的环境,容器可以理解为虚拟机
Docker 基础命令

检察docker 运行状态

systemctl status docker
运行中:
https://img-blog.csdnimg.cn/direct/902c3816bfd748d792772bb8ad464eb9.png
关闭docker

systemctl stop docker
https://img-blog.csdnimg.cn/direct/721a1fb97be341d298a82f78a4d20c84.png
启动docker

systemctl start docker
重启docker

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

systemctl enable docker
检察docker 版本号信息

docker version
docker info
https://img-blog.csdnimg.cn/direct/ef4d794e9e774588a57655bac9010538.png
docker 资助命令

docker --help
例如:对镜像的命令忘记
docker image --help
https://img-blog.csdnimg.cn/direct/7e5d1a8f043749289a8e2c45224e0fa9.png
docker 镜像命令

检察自己服务器中docker 镜像列表

docker images
https://img-blog.csdnimg.cn/direct/0d902b5e3c9742f1abfea10868b75d95.png
搜索镜像

docker search 镜像名
这个命令用来在Docker Hub上搜索名为mysql的镜像,mysql和mariadb是官方镜像(标记为),星级(STARS)表现了镜像的受欢迎水平,星级越高,表现这个镜像被更多的人使用和推荐。
https://img-blog.csdnimg.cn/direct/06a735ade28a4a60b131b0811bd75bcf.png
docker search --filter=STARS=9000 mysql
搜索 STARS >9000的 mysql 镜像
https://img-blog.csdnimg.cn/direct/a0dc6083f6b140a3af68a59e730645f6.png
拉取镜像

不加tag(版本号) 即拉取docker堆栈中 该镜像的最新版本latest 加:tag 则是拉取指定版本
docker pull 镜像名
docker pull 镜像名:tag
拉取一个tomcat玩一下
docker pull tomcat
https://img-blog.csdnimg.cn/direct/726bb69c50ea46bca2e6780d5a531cf6.png
运行镜像

docker run 镜像名
docker run 镜像名:Tag
运行一下刚才拉取的tomcat吧
docker run tomcat
https://img-blog.csdnimg.cn/direct/760ae85a86764f33830aeb623e00649b.png
运行后 出现tomcat 默认占用的8080 端口 说明该镜像已经是启动了
保存镜像

将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

docker save tomcat -o /myimg.tar
https://img-blog.csdnimg.cn/direct/00ccad2ac9504ddcad71c9cb35b3b863.png
删除镜像

#删除一个docker rmi -f 镜像名/镜像ID#删除多个 其镜像ID或镜像用用空格隔开即可 docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID#删除全部镜像-a 意思为表现全部, -q 意思为只表现IDdocker rmi -f $(docker images
-aq) 强制删除镜像
docker image rm 镜像名称/镜像ID
删除我们刚才拉取的tomcat
docker rmi -f tomcat
https://img-blog.csdnimg.cn/direct/b2fe0d84cfa14506983bbd52626dc0cc.png
加载镜像

任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像
docker load -i 镜像保存文件位置
加载我们保存在根目录下的tomcat
docker load -i myimg.tar
https://img-blog.csdnimg.cn/direct/bda29920bc0d46f8bef84ba39067aafa.png
镜像标签

在工作中有开发环境、测试环境、生产环境以及版本迭代,就可以使用标签来进行区分
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
https://img-blog.csdnimg.cn/direct/4277dd5193c24cce8a20fdd405aa04e6.png
Docker 容器命令

检察正在运行容器列表

docker ps
检察所有容器

包罗正在运行 和已制止的
docker ps
-a https://img-blog.csdnimg.cn/direct/26d2c0211e694d0ab58d04623df43cd3.png
运行一个容器

# -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
https://img-blog.csdnimg.cn/direct/dce42cd88f2341d9ba1604096abfb462.png
外部访问测试

这个命令是示体系中所有正在监听的 TCP 和 UDP 连接,以及这些连接关联的历程
netstat -untlp
会发现没有6379的历程
缘故原由是:占用的6379端口 仅仅是在容器中内部本身的端口,与宿主机的6379端口并无联系,我们通过宿主机Ip:6379访问此redis示例是访问不到的
容器端口映射

1.起首制止容器
# 先停止咱之前运行的 redis 容器
docker stop 容器名/容器ID
https://img-blog.csdnimg.cn/direct/a0633d7b7c864f29ac9397368075dd45.png
2.删除容器
# 先删除咱之前创建的 redis 容器
docker rm 容器名/容器ID
https://img-blog.csdnimg.cn/direct/6d0ae096ab8541ccbb1ae1cc85000c82.png
3.端口映射
-p 宿主机端口:容器端口

docker run -itd --name redisText -p 8888:6379 redis /bin/bash
https://img-blog.csdnimg.cn/direct/06014f7ff108446fb09795c86c762c51.png
-p 8888:6379 解析 将容器内部的 6379端口与docker 宿主机(docker装在哪台服务器 哪台服务器就是宿主机)8888 端口进行映射 那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了
https://img-blog.csdnimg.cn/direct/aed4beff62554dc8b391cdc3bc89b7d5.png
进入容器

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

#进入 前面的 redisText 容器   
docker exec -it redisText /bin/bash
https://img-blog.csdnimg.cn/direct/6f46aaea256641d08a2c9d98d308f725.png
退出容器

#-----直接退出未添加 -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/名称: 容器内路径容器外路径
#从外部 拷贝文件到容器内
dockercp 容器外路径 容器ID/名称: 容器内路径
检察容器日志

docker logs -f --tail=要查看末尾多少行 默认all 容器ID
https://img-blog.csdnimg.cn/direct/8122ecfbb0c54ed894345d7d51eba3dd.png
容器自启动

启动容器时,使用docker run命令时 添加参数–restart=always 便表现,该容器随docker服务启动而自动启动
docker run -itd --name redis002 -p 8888:6379 --restart=alwaysredis /bin/bash
在已有的容器怎么设置自启动
dockerupdate --restart=always 容器Id 或者 容器名



docker container update --restart=always 容器Id 或者 容器名
https://img-blog.csdnimg.cn/direct/57b16cef41be4f2f824265376ece75da.png
更换容器名

docker rename 容器ID/容器名 新容器名
https://img-blog.csdnimg.cn/direct/870e1b0be11a4fe5a7623b71c9164a74.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Docker-常用命令大全(附命令详解)