docker 工作原理:(可以与VMware虚拟化对比)
1.安装dockerd 在linux系统上 #类似在win上安装Vmware
2.下载镜像安装到docker #类似win上下载ISO系统,并创建虚拟机安装系统
3.部署应用 #登录到系统,安装应用
-------------------docker 操作-----------------
docker ps #查看ID号
1. 从容器下载文件
docker cp ID:/路径/文件名 /物理机路径/..
docker cp 9bbd3ec6e142:/home/ws/work/src/gkzx/deploy/src/github.com/sas/gkzx/conf/my.conf /tmp
2. 上传到容器
docker cp /物理机路径/文件名 ID:/路径/
docker cp /tmp/my.conf 9bbd3ec6e142:/tmp/
--区厅2类区集中管理上传更新包
docker cp /tmp/gkzx.tar.gz 59351e38fc68:/home/ws/work/src/gkzx/
3.停止镜像docker stop 容器ID,
例:docker stop 59351e38fc68
4.查看容器ID
docker ps -a # -a 查看所有,包括未启动的ID
5.启动:docker start 容器ID,
例:docker start 59351e38fc68 #重启restart
----------------------------------------------------
进入到容器:
1.docker exec -it gkzx /bin/bash
2.docker exec -it 容器ID /bin/bash
docker exec #固定命令
-d :分离模式: 在后台运行 #-itd 参数d会强制覆盖it
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
6.查看docker容器信息
docker inspect 容器ID
可以查看到容器的IP地址、挂载到本地的路径
7.不进docker执行里面的命令
docker exec ID或名称 命令
例:docker exec gkzx mysql -V
查看docker容器CPU、内存、IO使用情况:
docker stats # 查看所有
docker stats ID #查看指定容器
默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:
[CONTAINER]:以短格式显示容器的 ID。
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I/O]:磁盘 I/O 数据。
[PIDS]:PID 号。
如果不想持续的监控容器使用资源的情况,可以通过 --no-stream 选项只输出当前的状态:
docker stats --no-stream
关闭所有的docker容器
docker ps | awk ' NR>1 {print $1}' | xargs docker stop
启动所有容器
docker ps -a | awk 'NR>1 {print $1}' |xargs docker start
查看nginx版本
docker image inspect nginx:latest | grep -i version
目录映射
1.-v参数不能放最后;
2.目录映射不能随便更换,如nginx默认映射到/usr/share/nginx/html
docker run -itd -p 80:80 --name=nginx01 -v /data/docker/nginx/nginx03/:/usr/share/nginx/html --privileged nginx:latest