目录
docker tag Nginx:latest Nginx:lnmp 添加镜像标签
docker create -it nginx:latest /bin/bash
创建并启动容器(一次性执行)docker run centos:7 /usr/bin/bash –c ls /
docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"
docker ps -a | awk '{print "docker rm "$1}' | bash
for i in `docker ps -a | grep -i exit | awk '{print $1)'`; do docker rm -f $i;done
镜像基本操作
docker search 搜索镜像
docker pull 下载镜像
docker images 查看镜像列表
docker inspect 查看镜像详细信息
详细如下:
docker tag Nginx:latest Nginx:lnmp 添加镜像标签
删除
docker rmi 镜像名称
docker rmi 镜像标签
docker rm id号 删除容器
ps: 不能删除运行中的容器 (需要 +-f 强制删除)
docker rmi `docker images -q`
镜像导出
docker save -o 文件名 镜像名
docker load <文件名
容器操作
docker docker inspect 容器ID号
查询容器
docker ps -a
创建容器
docker create -it nginx:latest /bin/bash
-i让容器的标准输入保持打开
-t分配一个伪终端
-d后台守护进程的方式运行
启动容器
docker start id号
停止容器
docker stop id号
创建并启动容器(一次性执行)
docker run centos:7 /usr/bin/bash –c ls /
持续后台运行
docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"
-d后台守护进程的方式运行
以执行子循环的方式持续运行
进入容器
两种方式:
1.使用run
docker run -it nginx:latest /bin/bash
退出 容器会停止 可以理解为 一次性命令
2.exec(容器必须开启状态)
docker exec-it 容器ID/bin/bash
exec和shell是两种运行模式
PS:
docker run-it 会创建前台进程,但是会在输入exit后终止进程。
docker attach 会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程。
docker exec-it会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。
ps: docker attach I/O 流的方式 进入控制容器
docker exec-it 有安全隐患
容器导出
docker export ID号>文件名
例:docker export 1b78f7a8eca3 >123
容器导入 (生成镜像)
docker import 文件名 镜像名
例:docker import xx centos7.1
删除容器
docker rm容器ID
强制删除容器(正在运行的)
docker rm -f 容器ID
批量删除容器(正则匹配)
docker ps -a | awk '{print "docker rm "$1}' | bash
删除非up状态的rm-f 强制删除
docker rm `docker ps -q`
docker rm -f `docker ps -aq`
-f 删除正在运行的
-aq 全部 包括正在运行的