Docker 学习笔记

Docker 学习笔记

0x00 闲扯

因为要学内网,自己电脑又带不动,所以整了台学生机,发现docker和linux会的内容都太浅显了,还是再多学一点。

0x01 概念

Docker是基于go语言的,并遵从 Apache2.0 协议开源。它可以可以打包应用发布也可以虚拟化。它可以在物理机、虚拟机、云服务器上使用。
仓库(Repository):用来保存镜像;
镜像(Image):可以通过镜像创建对应的容器,它就像是容器的模板;
容器(Container):容器就像是镜像实例化后的实体,可以被创建、启动、暂停、停止、删除。
Docker Registry:一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

0x02 命令

怎么安装在我的另一篇文章里有:Kali 2020 搭建vulhub

docker search xxx:从公开仓库查找镜像

NAME: 镜像仓库源的名称
STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
OFFICIAL: 是否 docker 官方发布
AUTOMATED: 自动构建。
DESCRIPTION: 镜像的描述

在这里插入图片描述

docker login/logout:登陆/出一个Docker镜像仓库,未登陆时默认为官方仓库
docker login -u root -p passwd(账号在官网上创建https://hub.docker.com/)

OPTIONS说明:
-u :登陆的用户名
-p :登陆的密码

docker pull ubuntu:拉取镜像(默认是下的最新版)
在这里插入图片描述
我们先用这条命令看看所有的镜像,可以看到多了一个ubuntu:
docker images -a:列出本机上所有的镜像
在这里插入图片描述
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

我们经常在安装完之后都要使用这条命令判断我们的docker安装好了没:
docker run ubuntu /bin/echo "Hello world":创建容器并执行命令

docker:docker的二进制文件;
run:运行容器
ubuntu:指定镜像,如果不存在会自动下载,默认是最后一个版本,可以通过ubuntu:标签(标签就是版本号)来指定;
/bin/echo "Hello world":指定容器里要执行的命令

在这里插入图片描述

docker run -i -t ubuntu /bin/bash:创建新容器并进入交互模式

-i : 允许你对容器内的标准输入 (STDIN) 进行交互
-t : 为容器重新指定一个伪终端或终端,通常与 -i 同时使用
-d : 后台模式,不进入命令行
--name xxx: 指定name
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:宿主机端口:容器端口
exit: 退出容器并停止
crl+P+Q:不停止容器退出

在这里插入图片描述
在这里插入图片描述

docker start id/name :启动一个已停止的容器

docker stop id/name:停止容器

docker restart id/name:重启容器(myubuntu是我在上一步创建容器时起的名字)
在这里插入图片描述

docker rm id:删除容器,必须处于停止状态 -f 表示强制
在这里插入图片描述

docker rm $(docker ps -a -q):删除所有容器
在这里插入图片描述

docker pause/unpause name:暂停/恢复进程

docker ps:查看容器(默认是列出正在运行的,如果没有就只有列名)

参数:
-a :显示所有的容器,包括未运行的。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
-f :根据条件过滤显示的内容。
列的含义:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
  状态有7种:
	created(已创建)
	restarting(重启中)
	running(运行中)
	removing(迁移中)
	paused(暂停)
	exited(停止)
	dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

在这里插入图片描述
在这里插入图片描述
docker version: 查看版本
在这里插入图片描述

docker info: 显示详细信息
在这里插入图片描述

docker port name:列出指定容器的端口映射

docker 命令 --help:帮助
在这里插入图片描述

docker exec -it id /bin/bash:进入容器(从后台进入命令行)

docker export id xxx.tar :导出容器快照

docker import - xxx:导入快照到xxx镜像

docker save : 将指定镜像保存成 tar 归档文件。
比如:docker save ubuntu:load>/root/ubuntu.tar

docker load : 导入使用 docker save 命令导出的镜像。
比如:docker load<ubuntu.tar

docker container prune:清除所有终止状态的容器

docker logs -f id/name :查看容器日志

docker history:查看镜像创建历史

-f: 输出容器内部的标准输出。

docker top name:查看容器内运行的进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值