容器第二天(day039)

发布于:2024-12-07 ⋅ 阅读:(118) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到