docker常用命令

docker 基础命令

启动docker

systemctl start docker

关闭docker

systemctl stop docker

重启docker

systemctl restart docker

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

systemctl enable docker

查看docker 运行状态

systemctl status docker

查看docker 版本号信息

docker version
docker info

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jpxVK8Xa-1657802331982)(https://tcs-devops.aliyuncs.com/storage/112ia1dfe06077c69e72e4f7ed547d338c52?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmlhMWRmZTA2MDc3YzY5ZTcyZTRmN2VkNTQ3ZDMzOGM1MiJ9.3grxU_T3iL58QqhJbw72Y5bHK3X_vNCVefpOKfQ6O6A&download=image.png “”)]

docker 帮助命令

忘记了某些命令便可使用此进行查看与回顾

docker --help

比如 咱忘记了 拉取命令 不知道可以带哪些参数 咱可以这样使用

docker pull --help

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dABb9lWL-1657802331983)(https://tcs-devops.aliyuncs.com/storage/112iea0fa401892693492446c982ec1f1563?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmllYTBmYTQwMTg5MjY5MzQ5MjQ0NmM5ODJlYzFmMTU2MyJ9.m3VjiGRE7BXIiMXehTvw89vWML_n8bjwD0ERrZEif8M&download=image.png “”)]

docker 镜像命令

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

docker images

搜索镜像

docker search 镜像名
docker search --filter=STARS=9000 mysql 搜索 STARS >9000的 mysql 镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HDkRLnwv-1657802331984)(https://tcs-devops.aliyuncs.com/storage/112i62ce0a8362a922291ddf2171f1d006a6?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmk2MmNlMGE4MzYyYTkyMjI5MWRkZjIxNzFmMWQwMDZhNiJ9.jjz74-L2SmZIzs3mUdT9PKuFtju2WD7YGNr-gWVgky0&download=image.png “”)]

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

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

拉取最新版 mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuHPmOnz-1657802331984)(https://tcs-devops.aliyuncs.com/storage/112i85f7212fa6f85623dad22681d80c2d33?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmk4NWY3MjEyZmE2Zjg1NjIzZGFkMjI2ODFkODBjMmQzMyJ9.Ja43DzZx9pnCasYiNOZ9fJdkQvHaIT7sZ-D20eKmbk8&download=image.png “”)]

运行镜像 ----咱拉取一个tomcat 跑起来试一试

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

ex:

docker pull tomcat

docker run tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6pkJONLZ-1657802331984)(https://tcs-devops.aliyuncs.com/storage/112i076247c28be32fa5466310e877da075a?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmkwNzYyNDdjMjhiZTMyZmE1NDY2MzEwZTg3N2RhMDc1YSJ9.1A8sgxJuC4TBhWvfhZTmYvmRUrzJOOgALU4Rd8M5axg&download=image.png “”)]

删除镜像 ------当前镜像没有被任何容器使用才可以删除

删除一个

docker rmi -f 镜像名/镜像ID

删除多个 其镜像ID或镜像用用空格隔开即可

docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID

docker rmi -f $(docker images -aq)

强制删除镜像

docker image rm 镜像名称/镜像ID

保存镜像

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

命令:

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

exmaple:

docker save tomcat -o /myimg.tar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AFqmSHgJ-1657802331985)(https://tcs-devops.aliyuncs.com/storage/112i332efa9088ba8e3f12c3b56f9c56d8bd?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmkzMzJlZmE5MDg4YmE4ZTNmMTJjM2I1NmY5YzU2ZDhiZCJ9.hjoity1rejCBWCwp3bTPo9U8y7A9wiiRuJixZS4XDM8&download=image.png “”)]

保存镜像任务执行完毕,我们来看下指定位置下是否有该tar?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y44mWDRe-1657802331985)(https://tcs-devops.aliyuncs.com/storage/112i817d8499cd8683ca573e2da3d2d28f95?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmk4MTdkODQ5OWNkODY4M2NhNTczZTJkYTNkMmQyOGY5NSJ9.GETG0BrXqUC7bYmp45Y7JxRfdaN27ZyHBSFohoSjKEA&download=image.png “”)]

加载镜像

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NbuV43oB-1657802331986)(https://tcs-devops.aliyuncs.com/storage/112ia035fadc48d109852109a17e91f970ef?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmlhMDM1ZmFkYzQ4ZDEwOTg1MjEwOWExN2U5MWY5NzBlZiJ9.Z7Tvm6rQiOFAai3Thzw7gisSQxDCt9K9BBTckQ5Fx8Q&download=image.png “”)]

加载文件 恢复为镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4rKiS7u-1657802331986)(https://tcs-devops.aliyuncs.com/storage/112ic57e9b24c0c1b16398dfc94410a38eca?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmljNTdlOWIyNGMwYzFiMTYzOThkZmM5NDQxMGEzOGVjYSJ9.7FwLQVpvoDdVezxKSifN5znJ14-S1LbZf8Bul3QK1DM&download=image.png “”)]

docker 容器命令

查看正在运行容器列表

docker ps

查看所有容器 -----包含正在运行 和已停止的

docker ps -a

容器怎么来呢 可以通过run 镜像 来构建 自己的容器实例

运行一个容器

-it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径

docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash 

例如我们要启动一个redis 把它的别名取为redis001 并交互式运行 需要的命令 —我这里指定版本号为5.0.5

#1. 拉取redis 镜像

docker pull redis:5.0.5

#2.命令启动

docker run -it -d --name redis001 redis:5.0.5 /bin/bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87AYtDrR-1657802331987)(https://tcs-devops.aliyuncs.com/storage/112i31179200657bdbd0dd0780a177325e52?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmkzMTE3OTIwMDY1N2JkYmQwZGQwNzgwYTE3NzMyNWU1MiJ9.sDmJE4Z94rqo1Le5onXACdoFX5hzkwbJ5WsM8U-Fk0M&download=image.png “”)]

#3.查看已运行容器

docker ps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XkuKyYQ1-1657802331987)(https://tcs-devops.aliyuncs.com/storage/112ic10946cbcb4295e6b82ff5bfe3ed755a?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmljMTA5NDZjYmNiNDI5NWU2YjgyZmY1YmZlM2VkNzU1YSJ9.E9yIPTgF49mz5IuySEXW4YtDKZkAJtEfUbsRuFrdlJQ&download=image.png “”)]

停止容器

先停止咱之前运行的 redis 容器

docker stop 容器名/容器ID

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y52BVhPr-1657802331988)(https://tcs-devops.aliyuncs.com/storage/112i6087dcc2c1a5ee6a95242f423f3ec4f7?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmk2MDg3ZGNjMmMxYTVlZTZhOTUyNDJmNDIzZjNlYzRmNyJ9.nAVhiB9dKyQ5F3bj7jmMv40Txl4Wm6terYEpnlPZzHg&download=image.png “”)]

删除容器


#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XtLuFMMX-1657802331989)(https://tcs-devops.aliyuncs.com/storage/112i4e19d5109ffac1d05c2ce14d65aa3caf?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmk0ZTE5ZDUxMDlmZmFjMWQwNWMyY2UxNGQ2NWFhM2NhZiJ9.QRPqDi7q8jmEMWjZXsZKGm1GRqa3R7VZ038Sn29TuZc&download=image.png “”)]

容器端口与服务器端口映射

命令:

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

还是使用前方的 redis 镜像 尝试 将6379端口 映射到服务器的8888 如果成功了的话 那么咱们访问服务器的8888端口就会访问到咱们的 docker 中 的容器 redis002

-p 8888:6379 解析 将容器内部的 6379端口与docker 宿主机(docker装在哪太服务器 那台服务器 就是其数组机)8888 端口进行映射 那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了

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

进入容器方式一 这里咱就进入 前面的 redis001容器

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pV0Fy13W-1657802331989)(https://tcs-devops.aliyuncs.com/storage/112i5b9e8ad003c394cabdb3697eb70209ed?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9hcHBJZCI6IjVlODQ0MTNlZTEwZjY0NDE0NzZlNzI0YyIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY1ODM5MzU2MCwiaWF0IjoxNjU3Nzg4NzYwLCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMmk1YjllOGFkMDAzYzM5NGNhYmRiMzY5N2ViNzAyMDllZCJ9.614GH80Qf0LfILdzmlRgnJ_9RowcViWUEWhfiu8vA1U&download=image.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/名称: 容器内路径  容器外路径

#从外部 拷贝文件到容器内

docker  cp 容器外路径 容器ID/名称: 容器内路径

查看容器日志

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

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

ex:

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

数据挂载

简单来讲,就是将容器内的数据与外部宿主机文件绑定起来,类似一个双持久化,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复!

命令:

-v 宿主机文件存储位置:容器内文件位置

如此操作,就将 容器内指定文件挂载到了宿主机对应位置,-v命令可以多次使用,即一个容器可以同时挂载多个文件

-v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置

示例:

运行一个docker redis 容器 进行 端口映射 两个数据卷挂载 设置开机自启动

docker run -d -p 6379:6379 --name redis505 --restart=always  -v /var/lib/redis/data/:/data -v /var/lib/redis/conf/:/usr/local/etc/redis/redis.conf  redis:5.0.5 --requirepass "password"

更换容器名

想给容器换个霸气炫酷吊炸天的名字?

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

自己提交一个镜像

我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个更新的镜像,这时候我们就需要使用 commit 命令来构建一个新的镜像

docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值