1、容器简介
容器是什么?
容器就类似于我们运行起来的一个操作系统,而且这个操作系统启动了某些服务
这里的容器指的是运行起来的一个docker镜像
2、查看、启动
查看容器
命令格式:
docker ps
注意:
管理docker容器可以通过名称,也可以通过ID
ps是显示正在运行的容器,-a是显示所有运行过的容器,包括已经不运行的容器
启动容器
启动容器有三种方式:
1、基于镜像新建一个容器并启动
2、将关闭的容器重新启动
3、守护进程方式启动docker
创建新容器并启动
命令格式
docker run <参数,可选> [docker_image] [ 执行的命令]
注意:docker run 其实是两个命令的集合体 docker create + docker start
启动已终止的容器
命令格式:
docker start [container_id]
守护进程方式启动容器
命令格式:
docker run -d [image_name] command
3、关闭、删除
关闭容器
命令格式:
docker stop [container_id]
删除容器
删除容器有两种方法:
正常删除——删除已关闭的
强制删除——删除正在运行的
正常删除容器:
命令格式:
docker rm [container_id]
强制删除运行的容器
命令格式:
docker rm -f [container_id]
批量关闭容器
命令格式:
docker rm -f $ (docker ps -a -q)
4、进入、退出
进入容器的三种方法:
1、创建容器的同时进入容器
2、手工方式进入容器
3、生产方式进入容器
创建并进入容器
命令格式:
docker run --name [container_name] -it [docker_image] /bin/bash
docker容器启动命令参数详解:
--name:给容器定义一个名称
-i:让容器的标准输入保持打开
-t:让docker分配一个伪终端,并绑定到容器的标准输入上
/bin/bash:执行一个命令
退出容器:
方法一:exit
方法二:Ctrl + D
手工方式进入容器:
命令格式:
docker exec -it 容器id /bin/bash
生产方式进入容器
生产中常用的进入容器方法是使用脚本,脚本内容如下:
#!/bin/bash
#定义进入仓库函数
docker_in(){
NAME_ID=$1
PID=$(docker inspect -f "{{.State.Pid}}"$NAME_ID)
nsenter -t $PID -m -u -i -n -p
}
docker_in $1
赋权执行
chmod +x docker_in.sh
进入指定容器,并测试
./docker_in.sh b2sfdsdf2sdfd
(5)基于容器创建镜像
方式一:
命令格式:
docker commit -m '改动信息' -a "作者信息" [container_id] [new_image:tag]
命令演示:
进入一个容器,创建文件后并退出
./docker_in.sh d55f4sdfdsf
mkdir /sswang
exit
创建一个镜像
docker commit -m 'mkdir/sswang' -a "sswang" d55f4sdfdsf sswang-nginx:v2.0
查看镜像
docker images
启动一个容器
docker run -itd sswang-nginx:v2.0 /bin/bash
进入容器进行查看
./docker_in.sh as5df4d5f6
ls
方式二:
命令格式:
docker export [容器id] >模板文件名.tar
命令演示:
创建镜像:
docker export d4545dfsdf >gaoji.tar
导入镜像:
cat gaoji.tar | docker import -sswang-test
(6)日志、信息
查看容器运行日志
命令格式:
docker logs [容器id]
查看容器详细信息
命令格式:
docker inspect [容器id]
查看容器端口信息
docker port [容器id]