文章目录

  • 一:docker的镜像操作
  • 1:搜索镜像
  • 2:下载镜像
  • 3:查看已下载的镜像
  • 4:获取镜像的详细信息
  • 5:添加镜像标签
  • 6:删除镜像
  • 7:导出镜像
  • 8:载入镜像
  • 9:上传镜像到公有仓库(必须要有docker官方账号,且创建公有仓库
  • 二:容器的操做
  • 1:创建容器(创建前必须有该镜像)
  • 2:查看容器运行状态
  • 3:开启容器,关闭容器
  • 4:docker run命令
  • 5:进入容器与退出容器
  • 6:导出、导入容器
  • 7:删除容器
  • 8:批量停止容器
  • 9:批量删除容器
  • 三:Docker 常用命令解释


一:docker的镜像操作

1:搜索镜像

本环境基于已安装好的Docker环境

格式:docker search 服务名

[root@server1 ~]# docker search nginx
name表示镜像名字
DESCRIPTION 表示该镜像的功能
STARS表示下载热度

Docker Desktop 管理本机镜像 docker镜像版本管理_docker

2:下载镜像

docker commit [选项] 容器ID/名称 仓库名称:[标签]
-m 说明信息
-a 作者信息
-p 生成过程中停止容器的运行
[root@server1 ~]# docker pull centos:7
7: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e
Status: Downloaded newer image for centos:7
docker.io/library/centos:7

3:查看已下载的镜像

[root@server1 ~]# docker images
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID号
SIZE 镜像大小

Docker Desktop 管理本机镜像 docker镜像版本管理_docker_02

4:获取镜像的详细信息

格式:docker inspect 镜像ID号
           docker inspect 名字
[root@server1 ~]# docker inspect 8326be82abe6

Docker Desktop 管理本机镜像 docker镜像版本管理_程序人生_03

5:添加镜像标签

[root@server1 ~]# docker tag nginx:latest nginx:web

Docker Desktop 管理本机镜像 docker镜像版本管理_云计算_04

6:删除镜像

格式:docker rmi 仓库名:TAG标签
[root@server1 ~]# docker rmi nginx:latest
#在设置别名的情况下删除id号是不行的
[root@server1 ~]# docker rmi  bc9a0695f571 
Error response from daemon: conflict: unable to delete bc9a0695f571 (must be forced) - image is referenced in multiple repositories

Docker Desktop 管理本机镜像 docker镜像版本管理_云计算_05

7:导出镜像

格式:docker save -o 文件名 镜像名
[root@server1 bak]# docker save -o nginx nginx:latest

Docker Desktop 管理本机镜像 docker镜像版本管理_程序人生_06

8:载入镜像

[root@server1 bak]# docker load < ngin

Docker Desktop 管理本机镜像 docker镜像版本管理_运维_07

9:上传镜像到公有仓库(必须要有docker官方账号,且创建公有仓库

//登录
docker login
Username: docker
password:
Emall: xxx@xxx. com    #输入账号、密码
//上传
docker push 镜像名:标签名(一般公司使用私有仓库)

二:容器的操做

1:创建容器(创建前必须有该镜像)

格式:docker create -it 镜像名 运行程序
[root@localhost abc]# docker create -it nginx:latest /bin/bash
-i  指容器的标准输入保持打开
-t  指Docker分配一个伪终端
[root@server1 bak]# docker create -it nginx:latest /bin/bash
5f34cac6900f04caad155ef332101ce1ca7ef21e1e5f85fd825b3faf8058ad43

2:查看容器运行状态

状态

作用

created

已创建

restarting

重启中

running

运行中

removing

迁移中

paused

暂停

exited

停止

dead

死亡

[root@server1 bak]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               
5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   26 seconds ago      Created
[root@server1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   7 minutes ago       Created                                 admiring_brown

3:开启容器,关闭容器

格式:docker start 容器ID号
[root@server1 ~]# docker start af255575064f

格式:docker stop 容器ID号
[root@server1 ~]# docker stop af255575064f
[root@server1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   7 minutes ago       Created                                 admiring_brown
[root@server1 ~]# docker start 5f34cac6900f
5f34cac6900f
[root@server1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   11 minutes ago      Up 5 seconds        80/tcp              admiring_brown

4:docker run命令

命令格式:docker run 镜像名 /bin/bash -c ls /
[root@server1 bak]# docker run mysql /bin/bash -c ls /
注释:
 /bin/bash指定运行环境,-c指定执行命令

docker run命令会执行创建容器,开启容器,执行命令,关闭容器等一系列过程。如果没有创建容器和镜像,就会从下载镜像开始执行,一直到关闭容器。执行完成后直接关闭,状态为exited

5:进入容器与退出容器

Docker中系统镜像的缺省命令是 bash,如果不加 -ti bash 命令执行了自动会退出。这是因为如果没有衔接输入流,本身就会马上结束。加-ti 后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自动退出。

格式:docker exec -it 容器ID /bin/bash
[root@server1 abc]# docker exec -it af255575064f /bin/bash
[root@server1 ~]# docker exec -it 2b9b439bf782 /bin/bash
[root@2b9b439bf782 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

6:导出、导入容器

  • 导出
导出容器格式为:docker export 容器ID > 定义容器名
[root@server1 abc]# docker export b1e1844148e8 > centos
[root@server1 ~]# ls
anaconda-ks.cfg  bak  centos  initial-setup-ks.cfg  nginx  公共  模板  视频  图片  文档  下载  音乐  桌面
  • 导入
格式:cat 容器名 | docker import - 镜像:标签
[root@server1 ~]# cat centos | docker import - centos:web
sha256:c923c1f5a07228c01e31ab030450c0e3556f27ea9c8511caab35e309c4328f2d
[root@server1 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              web                 c923c1f5a072        4 seconds ago       204MB
nginx               latest              bc9a0695f571        10 hours ago        133MB
tomcat              latest              e0bd8b34b4ea        6 days ago          649MB
centos              7                   8652b9f0cb4c        11 days ago         204MB

7:删除容器

容器必须是exited 关闭状态,才能删除

[root@server1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS               NAMES
5f34cac6900f        nginx:latest        "/docker-entrypoint.…"   2 hours ago         Exited (137) About a minute ago                       admiring_brown
[root@server1 ~]# docker rm 5f34cac6900f
5f34cac6900f
[root@server1 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS

8:批量停止容器

docker stop `docker ps -aq`

9:批量删除容器

第一种:
[root@server1 ~]# dcoker rm `docker ps -aq` 

第二种:
[root@server1 ~]# docker ps -a | awk '{print "docker rm"$1}' | bash    不能删除up状态的容器

Docker Desktop 管理本机镜像 docker镜像版本管理_云计算_08

三:Docker 常用命令解释

命令

作用

-a

显示所有的容器,包括未运行的。

-f

根据条件过滤显示的内容。

–format

指定返回值的模板文件。

-l

显示最近创建的容器。

-n

列出最近创建的n个容器。

–no-trunc

不截断输出。

-q

静默模式,只显示容器编号。

-s

显示总的文件大小。

管理操作

作用

命令

搜索镜像

docker search 镜像

下载镜像

docker pull 镜像

创建容器

docker create -it nginx /bin/bash

运行

docker start 容器ID

一条龙运行

docker run -itd nginx /bin/bash

进入容器

docker exec -it 容器ID bash

停止容器

docker stop 容器ID

删除容器

docker rm 容器ID

删除镜像

docker rmi 镜像名称

辅助操作

作用

命令

查看镜像

docker images

查看容器

docker ps -a

镜像导出

docker save -o 保存位置 镜像名称

镜像导入

docker load < 文件位置

容器导入和导出

docker export 容器ID > 文件位置

cat 文件位置

docker import - 镜像名称