目录
[一、docker 镜像操作命令](#一、docker 镜像操作命令)
[1.2.docker pull:下载镜像](#1.2.docker pull:下载镜像)
[1.3.docker push:上传镜像](#1.3.docker push:上传镜像)
[1.4.docker images:查看本地镜像](#1.4.docker images:查看本地镜像)
[1.5.docker inspect :获取镜像详细信息](#1.5.docker inspect :获取镜像详细信息)
[1.6.docker tag:添加镜像标签](#1.6.docker tag:添加镜像标签)
[1.7.docker rmi:删除镜像](#1.7.docker rmi:删除镜像)
[1.8.docker save:导出镜像](#1.8.docker save:导出镜像)
[1.9.docker load:导入镜像](#1.9.docker load:导入镜像)
[2.1.docker ps:查询容器运行状态](#2.1.docker ps:查询容器运行状态)
[2.2.docker create:创建容器](#2.2.docker create:创建容器)
[2.3.docker start:启动容器](#2.3.docker start:启动容器)
[2.4.docker stop:停止容器](#2.4.docker stop:停止容器)
[2.5.docker rm:删除容器](#2.5.docker rm:删除容器)
[2.6.docker run: 创建并启动容器](#2.6.docker run: 创建并启动容器)
[2.7.docker export: 导出](#2.7.docker export: 导出)
[3.1.docker 镜像操作命令](#3.1.docker 镜像操作命令)
一、docker 镜像操作命令
1.1.查询软件镜像
css
格式:docker search 关键字(镜像名称或仓库名)
例:docker search nginx
1.2.docker pull:下载镜像
css
格式:docker pull 仓库名称[:标签]
#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。
例:docker pull nginx
1.3.docker push:上传镜像
docker push 命令用于将本地的 Docker镜像 上传到 Docker镜像仓库
docker官方公有仓库地址https://hub.docker.com/注册
css
默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号。
可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。
在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。
docker tag nginx:latest wzyonline/nginx:zhuo #添加新的标签
docker login #登录docker官网公共仓库
Username: #用户ID
password: #网站用户登录密码
docker push wzyonline/nginx:zhuo #上传镜像
docker logout #登出docker官网公共仓库
1.4.docker images:查看本地镜像
css
docker images #查看本地所有镜像
docker images -q #只显示本地所有镜像的ID
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ae2feff98a0c 9 days ago 133MB
--------------------------------------------------------
REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;
CREATED:镜像创建时间;
SIZE:镜像大小;
1.5.docker inspect :获取镜像详细信息
css
格式:docker inspect 镜像ID号/容器ID
#根据镜像的唯一标识 ID 号,获取镜像详细信息
1.6.docker tag:添加镜像标签
css
格式:docker tag 名称:[旧标签] 新名称:[新标签]
例:
#给nginx打上标签web,原来的标签是latest
docker tag nginx:latest nginx:web
docker images | grep nginx
1.7.docker rmi:删除镜像
css
格式:
docker rmi 仓库名称:标签 #当一个镜像有多个标签时,只是删除其中指定的标签
docker rmi 镜像ID号 #会彻底删除该镜像
docker rmi是docker rm image的简写
注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。普通删除无法删除时,可以加-f选项强制删除。
docker rmi id -f
#-f:id号一样强删(慎用)
例如:
docker rmi nginx:web
1.8.docker save:导出镜像
css
格式:docker save -o 存储文件名 存储的镜像
#-o:指定镜像文件名因为是导出来的文件一般是压缩包文件以tar为后缀
#另外一台主机安装好docker使用scp传输到另外一台主机
scp xx.tar 192.168.190.103:`pwd`
#另外一台主机查看并将文件加载到系统中
1.9.docker load:导入镜像
css
格式:
docker load < 存出的文件
docker load -i 存出的文件
例:
docker load < nginx.tar
二、Docker容器操作命令
2.1.docker ps:查询容器运行状态
cs
格式:
docker ps [选项]
常见选项:
docker ps #查看当前运行状态的容器
docker ps -q #只显示运行状态的容器的ID
docker ps -a #-a 选项可以显示所有的容器
docker ps -aq #只显示所有容器的ID
例如:
docker ps -a #-a 选项可以显示所有的容器
[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1222d64aa531 nginx:latest "/docker-entrypoint...." 6 seconds ago Created vibrant_brown
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
容器的ID号 加载的镜像 运行的程序 创建时间 当前的状态 端口映射 名称
2.2.docker create:创建容器
css
格式:docker create [选项] 镜像
常用选项:
-i:让容器开启标准输入
-t:让docker分配一个伪终端tty
-it:合起来用实现和容器交互的作用,运行一个交互式会话shell
--name:指定容器名称:不指定会随机生成
示例:
docker create -it nginx:latest /bin/bash
容器创建:就是将镜像加载到容器的过程。
新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。
2.3.docker start:启动容器
css
格式:docker start 容器的ID/名称
例如:docker start 1222d64aa531
2.4.docker stop:停止容器
css
格式:docker stop 容器的ID/名称
例如:docker stop 1222d64aa531
2.5.docker rm:删除容器
css
格式:docker rm 容器的id/名称
-f:强制删除正在运行的容器
例如:docker rm 1222d64aa531
一般先停止,再删除
2.5.1.批量删除容器
css
批量停止容器
docker ps -a | awk 'NR>=2{print "docker stop "$1}' | bash
docker ps -a | awk 'NR>=2{print $1}'| xargs docker stop
css
批量删除所有容器
docker ps -a | awk 'NR>=2{print "docker rm "$1}' | bash
docker ps -a | awk 'NR>=2{print $1}'| xargs docker rm
2.5.2.批量删除镜像
css
docker images | awk 'NR>=2{print "docker rmi "$3}'| bash
2.5.3.删除none镜像
css
docker images | grep none | awk '{print $3}' | xargs docker rmi
2.5.4.批量清理后台停止的容器
css
docker rm $(docker ps -a -q)
2.6.docker run: 创建并启动容器
css
格式:docker run [命令] [--name 容器名称] 镜像 [bash] [-c 操作]
bash:指定运行环境
-c:不入容器执行指定命令
-d:后台运行并返回容器id
前台运行
docker run -it centos:7 bash -c ls /
docker run -i --name test1 centos:7 bash -c ls /
docker ps -a
后台运行
docker run -itd --name test2 centos:7 /bin/bash
2.7.docker export: 导出
用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。
css
#导出格式:docker export 容器ID/名称 > 文件名
docker export 272689f1eefe >centos7.tar
2.7.1.导入
css
导入格式:cat 文件名 | docker import -- 镜像名称:标签
cat centos7.tar | docker import - centos7:test
#导入后会生成镜像,但不会创建容器
三、总结
3.1.docker 镜像操作命令
docker search 仓库名/镜像名
docker pu11下载仓库名/镜像名:标签
docker push 上传 仓库用户名/镜像名:标签
docker images查看镜像
docker tag 创建 源仓库名/源镜像名:标签新仓库名/新镜像名:标签
docker rmi 删除仓库名/镜像名:标签
docker save -o xxx.tar 存储 仓库名/镜像名:标签
docker load -i xxx.tar 载入 仓库名/镜像名:标签
docker load < xxx.tar 载入 仓库名/镜像名:标签
docker login {-u 仓库用户名 -p密码}
docker inspect 镜像ID/容器ID 查看ip地址详细信息
3.2.docker容器操作命令
docker create创建容器
docker start/restart/stop 启动/重启/关闭 容器
docker ps-a 显示所有容器
docker exec-it 切换到容器内
docker cp 复制(从宿主机--->容器内容器内---->宿主机)
docker rm 删除容器 加 -f 强制删除容器
docker run 创建启动容器
docker export 导出正在运行的容器 形成镜像 迁移使用(容器内的数据可以保存在镜像中
docker import导入镜像
docker kill 容器ID 杀死容器
docker version 查看版本信息
docker info 查看docker信息