Docker:第二章:Docker常用命令

一、Docker 常用命令

1 、Docker 基本命令

1.1 、帮助命令

版本信息: docker version

详细信息: docker info

帮助文档: docker --help (列出所有的 docker 命令)

1.2 、服务相关命令

启动 docker 服务:systemctl start docker
停止 docker 服务:systemctl stop docker
查看服务状态: systemctl status docker
重启 docker 服务:systemctl restart docker
开机启动:systemctl enable docker

2 、Docker 镜像命令

2.1、列出本机镜像

docker images: 列出本机镜像

表头说明

在这里插入图片描述

OPTIONS 说明
docker images -q

在这里插入图片描述

2.2 、查找镜像

docker search 镜像名称: 查找镜像 //例如:docker search tomcat

表头说明:

在这里插入图片描述

OPTIONS 说明
在这里插入图片描述

2.3 、下载镜像

docker pull 镜像名称:镜像版本:

下载镜像 //例如:docker pull tomcat

使用 docker images 查看镜像列表,可以看到 tomcat 的体积非常大,因为这是一个独立的集装箱环境,包含了所有运行 tomcat 所必须的底层依赖.

在这里插入图片描述

docker pull redis:3.2 下载指定版本的 redis
版本号(TAG):假设一个镜像的 latest 版本是 1.9.2

在这里插入图片描述

先下载几个常用镜像:

docker pull centos:下载 centos 镜像
docker pull nginx: 下载 nginx 镜像
docker pull tomcat: 下载 tomcat 镜像
docker pull java:8 下载 jdk8 镜像

2.4 、删除镜像

基本命令:

在这里插入图片描述

强制删除:

docker rmi hello-world
此时删除会报错,因为有容器 hello-world 已经创建
Error response from daemon: conflict: unable to remove repository reference “hello-world” (must force) - container 8932d136dbc5 is using its referenced image bf756fb1ae65

docker rmi -f hello-world#强制删除已经创建了实例的镜像

批量删除:
在这里插入图片描述

2.5 、查看镜像详情

docker inspect 镜像名称: 查看镜像详情

docker inspect tomcat:8.5.32 | grep -i version #看镜像含有版本的行,-i:忽略大小写

在这里插入图片描述

2.6 、镜像操作小结

docker images # 列出本地主机上的镜像

docker search [options] <某个 XXX 镜像名字> # 搜索镜像

docker pull <某个 XXX 镜像名字> # 下载镜像

docker rmi [options] <某个 XXX 镜像名字 ID> # 删除镜像 #-f 强制删除

3 、容器命令

3.1 、列出容器

docker ps #列出所有正在运行的容器,不包含已停止的容器
docker ps -a #列出当前所有已经创建的容器

表头说明
在这里插入图片描述

OPTIONS 说明

docker ps -qa #列出所有容器的编号

在这里插入图片描述

3.2 、创建容器

docker create 镜像名称 #根据镜像名创建一个容器
docker create --name tomcat1 镜像名称 #根据镜像创建名为 tomcat1 的容器
docker create 镜像id #根据镜像 id 新建一个容器

3.3、启动、停止、重启容器

docker start 容器id

docker restart 容器id

docker stop 容器id

docker kill 容器id #根据容器id强制停止一个容器

3.4、创建并启动容器

相当于 docker create + docker start

当本地镜像不存在时,相当于 docker pull + docker create + docker start

docker run tomcat #根据镜像名创建一个容器,并启动
docker run --name tomcat2 tomcat #为容器起一个别名 tomcat2,并启动

3.5、删除容器

docker rm 容器名称 #删除未启动的容器

docker rm -f 容器名称 #强制删除已启动的容器

docker rm -f $(docker ps -qa) #删除所有容器,包括正在运行的容器

docker ps -a -q | xargs docker rm #删除所有容器,不包括正在运行的容器

3.6、容器操作小结

在这里插入图片描述

4 、启动交互式容器

4.1 、启动 CentOS

docker run centos

默认情况下,centos 启动后无事可做,docker 会立即停止刚刚启动的 centos 容器,如下图:

在这里插入图片描述

使用 docker run centos 运行一个 centos 容器,随即使用 docker ps 列出正在运行的容器列表,未发现刚刚运行的 centos;

使用 docker ps -a 列出全部容器列表,发现 centos 容器已停止

4.2 、交互式启动:-it

在这里插入图片描述

OPTIONS 说明:

在这里插入图片描述

此时可以像在本地服务器上一样在容器内执行 Linux 命令,例如查看内核版本号、查看 Linux 发行版本号等(如果在宿主机上也查看内核版本号,那么可以发现容器使用的是宿主机的内核)

在这里插入图片描述

4.3 、退出容器

在这里插入图片描述

4.4 、进入容器

当容器未停止时,在宿主机中可以进入到容器内部命令行
docker attach centos1

4.5、在容器外执行容器命令

在容器外部执行命令,使命令在容器内部运行,并返回结果

在这里插入图片描述

比较下面两个命令的执行结果:
第一个显示的是 centos 容器的版本,第二个显示的是宿主机 centos 的版本

在这里插入图片描述

补充:

在这里插入图片描述

5 、启动守护式容器

5.1 、启动 tomcat

默认情况下,tomcat 的启动会占用当前命令行窗口,并进入挂起状态

docker run tomcat

守护式启动:-d

我们可以以守护进程的方式启动 tomcat 容器

docker run -d --name tomcat1 tomcat #在后台启动 tomcat,不占用命令行资源

5.2 、映射容器端口:-p

默认情况下,我们无法通过 docker 所在的宿主机访问 tomcat 容器的 8080 端口, 需要将 8080 端口映射到宿主机的某一个端口上

在这里插入图片描述

在这里插入图片描述
OPTIONS 说明
在这里插入图片描述

-p: 指定端口映射,有以下四种格式
访问前面启动的 tomcat 容器:如 http://192.168.100.101:7777,发现报告 404 错误,原因是 docker latest 版本的 tomcat 下的 webapps 中没有部署任何默认项目, 因 此 启 动 浏 览 器 无 法 访 问 tomcat 默 认 主 页 面 。

5.3、执行命令:docker exec

进入到容器内部的文件系统:
docker exec -it tomcat2 /bin/bash
查看 tomcat 所在环境的目录,在 tomcat 容器的宿主机中执行命令:在这里插入图片描述

下载 8.5.32 版本的 docker tomcat 镜像:
docker pull tomcat:8.5.32 执行了镜像命令就带有tomcate的默认主页了
docker run -d -p 8888:8080 --name tomcat3 tomcat:8.5.32 访 问 :http://本机ip地址:8888, 可 以 看 到 tomcat 的 默 认 主 页

5.4、查看容器详情

docker inspect tomcat3

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值