docker镜像管理
1.搜索镜像:docker search nginx
#选官方镜像,选点赞人数最多的`
2.获取镜像:docker pull
[root@model ~]# docker pull nginx ##不指定版本 pull最新版本
[root@model ~]# docker pull nginx:1.12.2 ##pull 指定版本
[root@model ~]# docker pull centos
3.查看镜像:docker image ls 或 docker images
4.镜像导出打包(nginx:latest是镜像名):docker save docker.io/nginx:larest>docker_nginx.tar.gz
5.删除镜像:docker image rm docker.io/nginx:latest
6.镜像导入:
[root@model ~]# docker load -i docker_nginx.tar.gz
[root@model opt]# docker image load -i docker_nginx.tar.gz
7.智能补齐:yum -y install bash-completion
8.重命名标签:docker image tag docker.io/nginx:latest nginx:1.14
9.查看镜像属性:docker image inspect docker.io/nginx:latest
总结:
ls: 查看镜像
pull: 下载镜像
rm: 删除镜像
tag: 重命名标签
build: 构建镜像
import: 导入镜像(很少用)
load: 导入镜像
prune: 批量删除
push: 推送镜像
sava: 导出镜像
history: 查看构建镜像的历史
docker容器管理
1.启动容器:docker run --name nginx_01 -d -p 89:80 nginx:latest
2.运行并进去到容器中: docker run --name mydocker -t -i centos /bin/bash
–name 指定容器名字
-t 分配伪终端
-i 打开标准输入
3.查看所有的容器:
docker container ls -a
docker ps -a
docker ps
4.停止容器:docker stop 8b1f1e968349(CONTAINER ID)
5.杀死容器:
docker kill 1b47aa5c0d3f(CONTAINER ID)
docker kill silly_perlman(NAMES)
6.启动容器:docker start 1b47aa5c0d3f(CONTAINER ID)
7.删除容器:docker container rm ba974d78786b(CONTAINER ID)
或 docker rm ba974d78786b
8.获取所有的容器的ID:docker ps -a -q
9.进去容器:
- 方法一:
docker attach objective_ritchie
(容器名字或ID) ##不推荐使用 (同一终端,退出容器停止) - 方法二:
docker exec -it acffe98af0cc /bin/bash
(不同终端,退出保持运行) - 方法三:
docker inspect --format "{{.State.Pid}}"
(容器ID或者名字)
进入容器: nsenter -t 2161 -u -i -n -p (没有这个命令安装包: yum install util-linux)
nsenter --help
10.退出容器:ctrl , p+q
11.进入容器脚本:vim nsenter.sh
#!/bin/bash
Pid=$(docker inspect --format “{{.State.Pid}}” $1)
nsenter -t $Pid -u -i -n -p
docker 容器内的第一个进程必须一直处于前台运行的状态(必须夯住)否则处于退出状态
12.显示详细信息:docker ps -a -l --no-trunc