02.Docker常用命令

一、镜像常用命令

1.列出本地镜像(docker images)

docker images

01

REPOSITORYTAGIMAGECREATEDSIZE
表示镜像仓库的源镜像标签镜像ID镜像创建时间镜像大小

参数:

 -a
 列出本地所有镜像(含中间镜像层)
 -q 只显示镜像ID
 --digests 显示镜像的摘要信息
 --no-trunc 显示完整的镜像信息

02

2.搜索镜像(docker search 名称)

官网地址:https://hub.docker.com/

08

docker search tomcat

07

NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
名字介绍点赞数官方版自动构建版

3.拉取镜像(docker pull 名称:版本)

09

docker pull tomcat(不写版本默认为最新版:latest)

10

4.删除镜像(docker rmi 名字:版本)(docker rmi 镜像ID)

删除一个

docker rmi hello-world:latest

-f:强制删除

11

删除多个

docker rmi -f nginx:latest hello-world:latest

12

全部删除

docker rmi -f $(docker images -qa)

13

5.列出镜像变更历史(docker history 镜像名:镜像标签 | 镜像id)

docker history luoruiyuan/tomcat:9.0.41

24

6.推送镜像

登陆阿里云创建命名空间

01

创建一个测试仓库,查看提交命令

02

03


根据命令提交一个

09

10

05

提交成功我们拉取一下

06

07

08

7.镜像保存本地和加载

docker save [OPTIONS] IMAGE [IMAGE...]

说明: -o :输出到的文件。 

docker save -o my_nginx.tar nginx:latest

8.本地加载镜像

docker load [OPTIONS] OPTIONS 

说明: input , -i : 指定导入的文件,代替 STDIN。 

quiet , -q : 精简输出信息。 

docker load input my_nginx.tar

二、容器常用命令

1.启动命令(docker run 镜像名:版本)

docker run [参数] 镜像名:Tag [自定义给运行命令] 

如:

docker run -it -d --name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 镜像名:Tag /bin/bash 

参数

 --name
 "容器新名字"为容器指定一个名称
 -d 后台运行容器,并返回容器ID,也即启动守护式容器
 -i 以交互模式运行容器,通常与-t同时使用
 -t 为容器重新分配一个伪输入终端,通常与-i同时使用
 -P 随机端口映射
 -p 指定端口映射,有以下四种格式(hostPort:主机   containerPost:容器)
  ip:hostPort:containerPort
  ip::containerPort
  hostPort:containerPort
  containerPort

交互式启动(注:以交互式启动并生成一个终端)

docker run -it centos:latest 

29

守护式启动

docker run -d centos

30

给tomcat指定端口(注:启动后可以按ctrl+P+Q退出不停止容器)

docker run -it -p 8899:8080 --name mytomcat8.5 tomcat:8.5.61-jdk15-openjdk-oraclelinux7 

也可以后台启动也就是守护式启动(这样就不会输出日志了)

docker run -d -p 8899:8080 --name mytomcat8.5 tomcat:8.5.61-jdk15-openjdk-oraclelinux7 


44

注:使用aliyun镜像加速下载的tomcat,需要把“webapps.dist”修改为“webapps”,不然404

45


2.查看容器(docker ps)

参数

 -a
 列出当前所有正在运行的容器+历史上运行过的
 -l 显示最近创建的容器
 -n 显示最近n个创建的容器
 -q 静默模式,只显示容器编号
 --no-trunc 不截断输出

31

3.退出容器

 exit
 容器停止退出
 ctrl+P+Q 或者 ctrl+d
 容器不停止退出(快捷键)

4.启动容器(docker start 容器id)(docker start 容器名字)

docker start a54f645ec2de

32

5.重启容器(docker restart 容器id|容器名字)

docker restart a54f645ec2de

6.停止容器(docker stop 容器id|容器名字)

docker stop a54f645ec2de

7.强制停止容器(docker kill 容器id|容器名)

docker kill a54f645ec2de

8.删除已停止的容器(docker rm 容器id)

参数

 -f
 强制删除

删除一个

docker rm 39315d2c11e4

34

删除多个

docker rm 容器id1 容器id2

全部删除

docker rm -f $(docker ps -a -q)

9.查看日志(docker logs 容器id)

参数

 -f
 加入时间戳
 -t 跟随最新的日志打印
 -n 显示最后几条
docker logs -ftn 3 fdf77ca8aaeb

35

10.查看容器内运行的进程(docker top 容器id)

docker top fdf77ca8aaeb

36

11.查看容器内部细节(docker inspect 容器id)

docker inspect fdf77ca8aaeb

37

12.进入正在运行的容器并以命令行进行交互

两种方式

 attach
 直接进入容器启动终端,不会启动新的进程
 exec 是在容器中打开新的终端,并且可以启动新的进程
 docker attach quirky_goldberg

38

docker exec -it quirky_goldberg /bin/bash

39

使用root进入容器

docker exec --privileged -u root -it liferayTomcat /bin/bash

注:exec 执行其他命令时可以直接返回结果,执行/bin/bash跟attach一样进入到终端

13.拷贝(docker cp 容器id:容器内路径 主机路径)

容器复制到主机

docker cp fdf77ca8aaeb:/home/cptest.txt /home

40

主机复制到容器

docker cp cplry.txt fdf77ca8aaeb:/home/

41

14.创建镜像(docker commit -m="描述" -a="作者" 容器id 要创建的镜像名:标签名 )

docker commit -a="luoruiyuan" -m="repair 404" mytomcat luoruiyuan/tomcat:9.0.41

46


(1)