操作docker镜像
1,获取镜像
docker pull 镜像名称
2,搜寻镜像
(仓库官网 https://hub.docker.com/)
3,查看镜像信息
docker images
4,添加镜像标签,变为特定的标签
docker tag 镜像名 指定镜像名:标签

5,查看镜像详细信息
docker inspect 镜像名:镜像TAG
6,删除和清理镜像
docker rmi -f 镜像ID号
步骤-docker images 查看镜像ID-复制想要删除的镜像ID- 使用docker rmi -f 镜像ID号

7,创建与打包镜像
docker commit 容器名称 新镜像名称:版本号
docker commit 容器ID 新镜像名称
基于已有的容器制作新镜像
8,上传镜像到仓库
docker save -o 指定保存镜像的位置 指定导入的镜像(必须指定保存的名称,不然执行下方docker load命令后,查看镜像,名称和TAG会显示<none>)

(图片转载原至CSDN作者:SDABC工作室)
docker load -i 指定导入的镜像位置
hello-world2.iso

会将指定的镜像导入到仓库
docker pull hello-world
pull镜像hello-world
操作docker容器
1,查看正在运行的容器
docker ps
docker ps -a 查看所有容器
docker run -itd
-i 以交互方式运行容器 -t -d


2,创建并启动容器(推荐)
docker run -itd 镜像ID bash
docker run -itd

3,创建容器
docker create -it 镜像ID
docker create创建完容器后不会自启动,用docker run命令创建完会自启动

4,启动容器
docker start 容器ID
docker restart 容器ID
容器ID用docker ps 查看
5,进入容器
docker exec -it 容器ID bash
进入容器必须保证容器处于 正在运行的状态
退出容器(在容器中输入) exit
6,删除容器
docker rm -f 容器ID
7,停止容器
docker stop 容器ID
容器ID用docker ps 查看
8,导入和导出容器
9,查看容器
docker ps
docker inspect 容器ID
查看容器的详细信息
查看正在运行的容器
docker ps -a
查看所有容器
10,其他容器命令:容器中复制文件、查看文件变更,端口映射,更新配置(容器开机自启)
docker run -itd -p 要使用端口:映射端口 --name="容器名" 容器ID bash
端口映射
docker export -o 导出的镜像路径 容器ID
导出容器
docker import 导入的镜像路径 取一个名称
导入容器
docker cp 本地文件路径 容器ID:/
将主机的文件复制到容器
docker update --restart always 容器ID
开机自启动容器
docker commit 容器ID 新镜像名称
基于已有的容器制作新镜像
1)基于已有的容器创建 2)基于本地模板3)基于dockerfile创建
练习
一、镜像操作
从Docker Hub拉取最新版本的Nginx镜像
docker pull nginx
列出本地所有Docker镜像(包括镜像ID、仓库名、标签、大小等信息)
docker images
删除本地名为"ubuntu:18.04"的镜像(如果存在)
docker rmi -f ubuntu:18:04
或
docker rmi -f 镜像ID号
使用当前目录下的Dockerfile构建一个名为"myapp:1.0"的镜像
docker build -t myapp:1.0
查看镜像"nginx:latest"的详细信息
docker inspect nginx:latest
给镜像"ubuntu:20.04"添加一个新标签"my-ubuntu:v2"
docker tage ubunut:latest my-ubunut:v2

将本地镜像"myapp:1.0"导出为tar文件"myapp.tar"
docker save -o myapp.tar myapp:1.0
二、容器操作
以后台模式运行一个名为"web-server"的Nginx容器
docker run --name web-server nginx:latest

运行一个Nginx容器,并将容器的80端口映射到主机的8080端口
docker run -d -p 8080:80 --name nginx-container nginx

列出所有正在运行的容器
docker ps
列出所有容器(包括已停止的)
docker ps -a
进入名为"web-server"的容器内部并启动交互式终端
docker exec -it web-server bash

停止名为"web-server"的容器
docker stop web-server

启动已停止的容器"web-server"
docker restart web-server

删除已停止的容器"web-server"
docker rm -f web-server

查看容器"web-server"的实时日志(上一题已经删除,所以要重新创建)
docker run -d --name web-server -p 80:80 nginx
docker logs -f web-server
从容器"web-server"中复制文件/usr/share/nginx/html/index.html到当前主机目录
docker cp web-server:/usr/share/nginx/html/index.html /root/

查看所有容器的资源使用情况(CPU、内存等)
docker stats
三、综合操作
清理所有已停止的容器
docker container prune

清理所有未被使用的镜像(悬空镜像)
docker image prune