天天看点

kali linux 2022.3安装 Docker, 以及docker常用指令

作者:半条虫2022

# 第一步:添加Docker官方的GPG密钥

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# 第二步: 第二步更新源

echo 'deb https://download.docker.com/linux/debian stretch stable'> /etc/apt/sources.list.d/docker.list

# 第三步: 直接导入证书

apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

# 更新

apt-get update

# 安装

apt install docker.io

# 查看docker版本

docker -v

# 安装docker compose

apt install docker-compose

# 查找镜像

docker search centos7

# 拉取镜像

docker pull ansible/centos7-ansible

# 查看已下载的镜像

docker images

# 运行容器

# -p 52201:22 将宿主机52201端口映射级容器的22号端口

# --name=vm01 容器名称为vm01

# --privileged 特权

# -itd 以守护进程方式启动

docker run -itd -p 52201:22 --name=vm01 --privileged ansible/centos7-ansible:latest

# 查看已经安装容器

docker ps

# 进入容器

docker exec -it vm01 /bin/bash

# 删除容器

# docker rm CONTAINER ID -f

docker rm 06ef28972770 -f

Docker 常用命令

Docker环境信息 info、version

镜像仓库命令 login、logout、pull、push、search

镜像管理 build、images、import、load、rmi、save、tag、commit

容器生命周期管理 create、exec、kill、pause、restart、rm、run、start、stop、unpause

容器运维操作 attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff、update

容器资源管理 volume、network

系统信息日志 events、history、logs

1.events打印容器的实时系统事件

2.history 打印出指定镜像的历史版本信息

3.logs打印容器中进程的运行日志

官方帮助文档 https://docs.docker.com/reference/

删除镜像命令

# 单个镜像删除,相当于:docker rmi java:latest

docker rmi java

# 强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)

docker rmi -f java

# 多个镜像删除,不同镜像间以空格间隔

docker rmi -f java tomcat nginx

# 删除本地全部镜像

docker rmi -f $(docker images -q)

查看容器

# 查看正在运行的容器

docker ps

# 查看所有容 包括停止的容器

docker ps -a

# -q参数,只显示container id

docker ps -q

# 查看容器详细信息

docker inspect demo1

容器启动与停止

# 新建并启动容器,参数:

# -i 以交互模式运行容器;

# -t 为容器重新分配一个伪输入终端;

# --name 为容器指定一个名称

docker run -i -t --name mycentos 镜像名称/镜像ID

# 后台启动容器,参数:

# -d 已守护方式启动容器

docker run -d mycentos

# 启动止容器

docker start 容器id

# 重启容器

docker restart 容器id

# 关闭容器

docker kill 容器id

docker stop 容器id

-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上

-i 参数则让容器的标准输入保持打开。

-c 参数用于给运行的容器分配cpu的shares值

-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位

-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume

-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port

--name 容器名称

--net 容器使用的网络

-d 创建一个后台运行容器

容器进入与退出

# 使用run方式在创建时进入

docker run -it centos /bin/bash

# 关闭容器并退出

exit

# 仅退出容器,不关闭

快捷键:Ctrl + P + Q

快捷键:Ctrl + Shift + P + Q

容器进程

# top支持 ps 命令参数,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]

# 列出redis容器中运行进程

docker top tomcat

容器日志

# 查看redis容器日志,默认参数

docker logs tomcat

# 查看redis容器日志,参数:

# -f 跟踪日志输出;

# -t 显示时间戳;

# --tail 仅列出最新N条容器日志;

docker logs -f -t --tail=20 redis

# 查看容器redis从2021年08月10日后的最新10条日志。

docker logs --since="2021-08-10" --tail=10 redis

进入当前正在运行的容器

# 以exec进入,进入容器后,开启一个新的终端,可以再里面操作

docker exec -it 容器id bashShell(/bin/bash)

# 以attach进入,进入容器正在执行的终端,不会启动新的终端进程

docker attach 容器id bashShell(/bin/bash)

容器内拷贝文件到主机

docker cp 容器id:容器内路径 目的主机路径