学习docker第二弹------基本命令[帮助启动类命令、镜像命令、容器命令]

docker目录

前言

在第一弹学习中,我们学会了docker的安装,成功运行了docker,docker就像它的图标一样,是一个鲸鱼,我们需要在docker上面放集装箱 (就是创建容器,比如说redis,app啥的昂),docker是基于Linux内核的,因此我们在VMware Workstation上使用centos镜像学习的docker。

众所周知java的三要素是封装、继承和多态,docker同样也有三要素,镜像、容器和仓库 。这里的镜像就像是模板,比如redis、centos等的镜像,我们是不是先拉下来,然后在镜像上面操作。容器就来存放镜像,一定要注意确保容器创建成功,别一天到晚忙忙碌碌的搬东西到箱子里面,结果发现箱子不在,尊嘟会笑得肚子疼。仓库就是我们拉取镜像的地方。

基本命令

帮助启动类命令

terminal 小tips,ctrl++就会放大字迹。

停止docker服务

bash 复制代码
systemctl stop docker

查看docker状态

bash 复制代码
systemctl status docker

启动docker

bash 复制代码
systemctl start docker
systemctl status docker

重启docker

bash 复制代码
systemctl restart docker

开机启动docker

bash 复制代码
systemctl enable docker

查看概要信息

bash 复制代码
docker info

查看总体帮助文档

这种帮助文档最适合我们这种小白,要学会自己学习,这句话其实是对我自己说的,最讨厌看这种玩意儿了(掌嘴)不,我最喜欢看这种漂亮的文字了(洗脑ing)

bash 复制代码
docker --help

查看命令帮助文档

bash 复制代码
docker run --help

查看run这个命令的帮助文档,记得run吧,我们刚开始运行的hello-world就是run帮助我们的呀!

ok,到这里我们的帮助启动类的命令就结束了,接下来看看我们的镜像命令啦,还记得docker三大元素嘛,再复习一次:镜像、容器和仓库

镜像命令

bash 复制代码
docker images

这里解释以下这个标题的内容,repository仓库,tag表示版本标签,如果我们run的时候没有加上这个tag标签,默认就是拉取最新的,image ID顾名思义就是我们镜像的ID了,created创建时间,size就是镜像的大小。

查看所有的镜像 -a

bash 复制代码
docker images -a

查看镜像ID -q

在仓库里面查找redis

bash 复制代码
docker search redis

查看仓库某个镜像的前五个,使用了--limit

bash 复制代码
docker search --limit 5 redis

拉取镜像

冒号后面是版本号,若是不写版本号,默认是最新版latest哈

bash 复制代码
docker pull redis:6.0.8

查看容器/镜像/数据卷所占内存

bash 复制代码
docker system df

删除一个镜像

bash 复制代码
docker rmi [-f] 镜像名字/镜像ID

rmi是remove image,这个中括号表示可选项,-f就是强制删除的意思(force)

删除成功了。

删除多个镜像

bash 复制代码
docker rmi [-f] 镜像名1:TAG,镜像名2:TAG

穿插一个课外的面试题叭:
docker虚悬镜像是什么?

答:仓库名和镜像名都是None 的镜像,dangling images

这种镜像建议删除

终于可以到我们的容器命令,是不是对容器(集装箱)挺好奇的,我也是!让我们揭开它神秘的面纱叭!

容器命令

Docker必须部署在Linux上,再强调一遍撒。

拉取容器

bash 复制代码
docker run ubuntu

都知道,我们执行命令都是有参数可以选择的,接着我们看几个我感觉用的比较多的,还有一些就以后慢慢接触慢慢用到咱们继续补充。

bash 复制代码
docker run -it ubuntu /bin/bash


查看容器信息

再另外开一个终端,因为之前的终端我们在和ubuntu交互了

bash 复制代码
docker ps
bash 复制代码
docker run -d ubuntu bash


运行redis就可以,因为它是可以后台运行的容器啦!

-d 参数是守护式容器,就是说后台默默守护默默运行的这种,但是有些镜像是不可以的,比如说不工作的镜像,就会创建后马上被杀死

查看所有的容器信息

所有创建过的,无论是否正在运行

bash 复制代码
docker ps -a

显示一条

bash 复制代码
docker ps -n 1

只显示容器ID

bash 复制代码
docker ps -q

退出容器

退出容器,但容器不停止
bash 复制代码
ctrl+p+q
退出容器,容器停止
bash 复制代码
exit

启动已经停止的容器

bash 复制代码
docker start 容器ID/容器名称

重启已经停止的容器

bash 复制代码
docker restart 容器ID/容器名称

停止容器

bash 复制代码
docker stop 容器ID/容器名称

删除已停止的容器

bash 复制代码
docker rm 容器ID/容器名称

强制删除容器

bash 复制代码
docker rm -f 容器ID/容器名称

查看日志

bash 复制代码
docker logs 容器ID

查看容器内运行的进程

bash 复制代码
docker top 容器ID

查看容器内部细节

bash 复制代码
docker inspect 容器ID

进入正在运行的容器并以命令行交互

bash 复制代码
docker exec -it 容器ID /bin/bash

一般我们使用这一个

bash 复制代码
docker attach 容器ID

exec这个使用exit退出后,进程不会停止,但attach方法exit退出了,进程会停止。

从容器内拷贝内容到主机上

因为有时候怕东西被误删除了,出于安全机制,所以咱们会有一个备份的操作,将重要的东西放到主机上,当然也可以复制整个镜像文件。

bash 复制代码
docker cp 容器ID:容器内路径 目的路径

导入和导出容器

导出

bash 复制代码
docker export 容器ID>abcd.tar

abcd.tar就是命名,可以自己命名的,如果不指定的话,默认就是当前目录

导出

bash 复制代码
cat abcd.tar | docker import-包名/镜像用户/镜像名:版本

后记

记一下,mysql也是的,我的root的账户,密码是123456,我怕我忘记了,到时候来这里找一下。

刚刚写博客被同实验室的人看见了,BB啊 ,如果文档对您有用的话,记得给我点个赞赞,这可是我写作的动力之一,你们可是很重要的呢!

相关推荐
懒惰才能让科技进步30 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope1 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen1 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
hong1616882 小时前
跨模态对齐与跨领域学习
学习
追风林2 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
阿伟来咯~2 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin3 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表3 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc