1.jq处理json格式数据
使用场景:docker inspect出来的结果是json格式数据
安装:yum install -y jq
用法:docker inspect nginx:alpine |jq .[].GraphDriver.Data.WorkDir
遇到[],则.[]。
2.容器管理
运行起来的镜像可以成为容器
docker container xxx,部分指定container可以省略
案例1:查看当前运行中的容器,查看下80端口是否被占用,如果没有被占用,则运行一个nginx容器
docker ps 查看运行中的容器
docker ps -q 查看运行中容器id
docker ps -a 查看所有的容器
docker rm 容器 删除容器,-f强制删除
docker run 运行容器
-d 后台运行(运行容器的初始命令,必须阻塞,否则退出)
-p 端口映射,外部或其他服务器想要访问容器内的某个服务的端口
-p 外部用于访问的端口:容器内部服务的端口
docker run -d -p 80:80 --name "lxc_nginx_v3" nginx:alpine
案例2:运行centos镜像并进入容器
docker run -it --name "lxc_centos" centos
-i 进入交互模式
-t 分配一个终端(运行命令解释器)
退出容器 CTRL+d
案列3:进入已经进行的 容器
docker exec -it lxc_nginx_v4 /bin/sh
此时退出容器,容器还会在后台运行
案例4:传文件到容器
docker cp index.html lxc_nginx_v4:/usr/share/nginx/html/index.html
相反也可以把容器内容传输到宿主机
3.容器状态
docker container stats dockr stats 查看容器状态
docker top 容器名 查看容器进程信息
docker inspect 容器名 查看容器信息
docker kill -s 9 容器名 强制关闭容器
4.自定义镜像
将容器当前状态生成镜像
使用流程:运行镜像,启动后变成容器,根据需求修改容器,最后通过commit命令将镜像保存为容器。
docker commit 容器名 镜像名
docker commit lxc_nginx nginx:xxx
5.数据卷挂载
挂载宿主机的index.html文件到容器的html文件
docker run -p 80:80 -d --name "lxc_nginx1" -v `pwd`/index.html:/usr/share/nginx/html/index.html nginx:latest