docker简单总结
0x01 安装
1. centos和ubuntu
centos7 内核要3.10以上
curl -fsSL https://get.docker.com/ | sh
# 或
sudo apt install -y docker.io
yum -y install docker
启动docker服务
systemctl start docker
2. kali
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker --now
3. docker-compose
pip install docker-compose
0x02 常用命令
#查看日志
docker logs -tf --tail 10 容器id
#查看容器中进程信息
docker top 容器id
#查看容器元数据
docker inspect 容器id
#进入一个新的终端
docker exec -it 容器id bashshell
#进入容器内正在使用的终端
docker attach 容器id
#从容器内拷贝文件到主机
docker cp 容器id:容器内路径 主机路径
#将容器打包成一个镜像
docker commit -m="描述信息" -a="作者" 容器id 名字:tag版本
快速搭建mysql
docker pull mysql:8
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 镜像id
0x03 镜像命令
# 查看所有镜像
docker images
# 搜索镜像
docker search mysql
# 下载镜像
docker pull mysql
# 删除镜像
docker rmi -f 镜像id
docker rmi -f 镜像id 镜像id 镜像id
docker rmi -f $(docker images -aq)
0x04 容器命令
# 在本机后台运行一个以mysql为基础的mysql01,并开放映射本机的9000端口到容器的3306
docker run -d -p 9000:3306 --name mysql01 mysql
# 以交互界面运行
docker run -it -p 9000:3306 --name mysql01 mysql /bin/bash
# 使容器拥有真正的root权限
docker run -itd --name c8 --privileged centos /usr/sbin/init
# 常规操作
docker start 容器id
docker restart 容器id
docker stop 容器id
# 当前正在运行的容器
docker ps
# 列出所有容器
docker ps -a
# 在容器内,直接停止容器并退出
exit
# 在容器内,让容器进入后台运行
ctrl + p + q
# 删除容器
docker rm -f 容器id
# 删除所有容器
docker rm -f $(dcker ps -aq)
docker ps -a -q | xargs docker rm -f
0x05 容器数据卷
就是数据卷同步挂载
docker run -d -p -v 主机目录:容器内目录 --name mysql01 mysql
docker run -d -p -v 容器内目录 --name mysql01 mysql
docker run -d -p -v 挂载的名字:容器内目录 --name mysql01 mysql
# 从centos01数据共享,centos01被删后centos02数据依旧存在
docker run -d -p --volumes-from centos01 --name centos02 centos
检查挂载情况
docker volume ls
docker volume inspect 卷名
卷权限
# 通过 -v 容器内路径:ro rw 改变读写权限
ro readonly
rw readwrite
# 例子:
docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx:ro nginx
# 一旦设置了ro权限,说明这个路径只能通过主机操作,容器内部无法操作。
0x06 容器导入导出
# 导出语法
docker export [OPTIONS] CONTAINER
# 例子
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
# 导入语法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
# 例子
docker import my_ubuntu_v3.tar runoob/ubuntu:v4
0x07 镜像导入导出
# 导出语法
docker save [OPTIONS] IMAGE [IMAGE...]
# 例子,如果需要跨操作系统,请使用 -o 方式
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
docker save runoob/ubuntu:v3 > my_ubuntu_v3.tar
# 导入语法
docker load [OPTIONS]
# 例子,如果需要跨操作系统,请使用 -i 方式
docker load -i ubuntu.tar
docker load < ubuntu.tar
0x08 docker-compose
# 在docker-compose.yml文件所在目录执行以下命令,会在后台启动
docker-compose up -d
# 在docker-compose.yml文件所在目录执行以下命令,会退出并删除容器
docker-compose down
本文来自博客园,作者:Jarwu,转载请注明原文链接:https://www.cnblogs.com/jarwu/p/17191406.html