docker 基本命令

目录

[一、docker 镜像操作命令](#一、docker 镜像操作命令)

1.1.查询软件镜像

[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:导入镜像)

二、Docker容器操作命令

[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.5.1.批量删除容器

2.5.2.批量删除镜像

2.5.3.删除none镜像

2.5.4.批量清理后台停止的容器

[2.6.docker run: 创建并启动容器](#2.6.docker run: 创建并启动容器)

[2.7.docker export: 导出](#2.7.docker export: 导出)

2.7.1.导入

三、总结

[3.1.docker 镜像操作命令](#3.1.docker 镜像操作命令)

3.2.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信息

相关推荐
漫无目的行走的月亮2 小时前
在Docker中运行微服务注册中心Eureka
docker
大G哥4 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
大道归简5 小时前
Docker 命令从入门到入门:从 Windows 到容器的完美类比
windows·docker·容器
zeruns8025 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
爱跑步的程序员~5 小时前
Docker
docker·容器
福大大架构师每日一题6 小时前
23.1 k8s监控中标签relabel的应用和原理
java·容器·kubernetes
程序那点事儿6 小时前
k8s 之动态创建pv失败(踩坑)
云原生·容器·kubernetes
疯狂的大狗6 小时前
docker进入正在运行的容器,exit后的比较
运维·docker·容器
长天一色6 小时前
【Docker从入门到进阶】01.介绍 & 02.基础使用
运维·docker·容器
伊玛目的门徒6 小时前
docker 搭建minimalist-web-notepad
运维·docker·notepad