Docker容器管理
1.容器查询创建与启动
1.1.查询
docker ps
docker ps -a (显示所有运行过的容器,包括已经不运行的容器)
1.2.创建
docker create [参数命令] 依赖镜像 [容器内命令] [命令参数]
docker create -it --name ubuntu-1 ubuntu ls -a
1.3.启动 1
将一个或多个处于创建状态或关闭状态的容器启动起来
docker start [容器名称]或[容器ID]
docker start -a ubuntu-1
1.4.启动 2
创建并且启动
docker run [命令参数] [镜像名称] [执行的命令]
docker run --rm --name nginx-1 nginx /bin/echo "hello word hello panda "
docker run --name nginx-1 nginx /bin/echo "hello word hello panda "
– rm 容器运行后自动删除
1.5.启动 3
以守护进程方式启动
docker run -d [image_name] command …
docker run -d nginx
2.容器的暂停与取消暂停 重启
2.1.暂停
docker pause [容器名称]或[容器ID]
docker pause 87d61a7d9812
2.2.取消暂停
docker unpause [容器名称]或[容器ID]
docker unpause 87d61a7d9812
2.3.重新启动
docker restart [容器名称]或[容器ID]
docker restart 955a3a984b81
3.容器的关闭、终止、删除
3.1.关闭
docker stop [容器名称]或[容器ID]
3.2.终止 (一般不建议使用)
docker kill [容器名称]或[容器ID]
3.3.正常删除 – 删除已关闭的
docker rm [容器名称]或[容器ID]
3.4.强制删除 – 删除正在运行的
docker rm -f [容器名称]或[容器ID]
3.5.强制批量删除 – 删除全部的容器(一般不建议使用)
docker rm -f $(docker ps -a -q)
4.Docker容器的进入和退出
4.1.创建容器并且进入
docker run --name 【容器名称】 -it 【依赖的镜像名称】 /bin/bash
docker run -it --name panda-nginx nginx /bin/bash
4.2.手动进入容器
docker exec -it 【容器id】 /bin/bash
docker exec -it panda-nginx1 /bin/bash
4.3.生成方式 进入容器
sudo ./docker_in.sh 34f32ce8c6a0
脚本内容:
#!/bin/bash
#定义进入仓库函数
docker_in(){
NAME_ID=$1
PID=$(docker inspect --format {{.State.Pid}} $NAME_ID)
nsenter --target $PID --mount --uts --ipc --net --pid
}
docker_in $1
4.4.退出
1)exit
2)Ctrl +d
5.Docker基于容器创建镜像
5.1.commit
将本地正在运行的容器 生成为一个镜像
docker
commit -m “变更信息 ” -a “作者 ” [依赖的容器] [新的镜像名称和 版本号]
docker commit -m "mkdir hello wrld golang beego " -a "panda" 34f32ce8c6a0 panda-nginx1108:v1.0
5.2.export
将本地的容器生成为一个压缩文件放置在我们的目录中(导出)
docker export [导出的容器名称 ] > [模板压缩文件.tar]
docker export 34f32ce8c6a0 > panda-nginx1657.tar
导出:
cat panda-nginx1657.tar | docker import - panda-nginx1657
6.Docker容器的其他可能用到的命令
6.1.查看容器运行日志
Docker logs 【容器id】
docker logs 34f32ce8c6a0
6.2.查看容器详细信息
Docker inspect 【容器id】
docker inspect 34f32ce8c6a0
6.3.查看容器的端口号
查看容器的端口号
docker port 34f32ce8c6a0
6.4.容器的重命名
Docker rename [容器id]或[容器名称] 【容器的新名称】
docker rename afcc47ed3dd4 panda-nginx2
Docker生命周期