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
posted @ 2023-03-08 11:27  Jarwu  阅读(17)  评论(0编辑  收藏  举报