专栏首页AlbertYang的编程之路【云+社区年度征文】Docker教程(2)—Docker常用基础命令
原创

【云+社区年度征文】Docker教程(2)—Docker常用基础命令

一.帮助命令

1.显示docker的版本信息

 docker version

2.显示docker的系统信息

docker info

3.帮助命令

docker 命令 --help

例如:

docker info --help

二. 镜像命令

1.查看所有本地主机上的镜像

docker images

可选参数:列出所有镜像,-a, --all 。只显示镜像id ,-q, --quiet。

2.搜索镜像

我们可以在 Docker Hub 网站上来搜索镜像,网址为: https://hub.docker.com/,也可以使用 docker search 命令来搜索镜像。

docker search 要搜索的镜像名称

例如搜索mysql:

docker search mysql

NAME

镜像仓库源的名称

DESCRIPTION

镜像描述

STARS

类似 Github 里面的 star,表示点赞、喜欢的数量

OFFICIAL

是否为docker 官方发布的镜像

AUTOMATED

自动构建

可选参数:--filter

搜索镜像STARS大于3000的镜像:

docker search mysql --filter=STARS=3000

3.下载镜像

下载镜像命令:docker pull 镜像名[:tag],如果不写tag,默认是latest(最新版)。

 docker pull mysql

下载Mysql5.7

docker pull mysql:5.7

4.删除镜像

删除指定镜像:

docker rmi -f 镜像id

删除多个镜像:

docker rmi -f 镜像id 镜像id 镜像id

删除全部镜像

docker rmi -f $(docker images -aq)

三. 容器命令

1.有了镜像才可以创建容器。下载centos镜像

docker pull centos

2.启动并进入容器

docker run -it centos /bin/bash

参数说明:

  • -i: 交互式操作。
  • -t: 终端。
  • centos: centos镜像。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

3.从容器退出

exit

4.列出所有运行的容器

docker ps  # 正在运行的容器

可选参数:
-a # 正在运行的容器和历史运行过的容器
-n=? # 显示最近n条容器
-q # 只显示容器编号

5.退出容器

exit  # 直接停止容器并退出
Crtl + Q + P # 不停止容器退出

6.删除容器

docker rm 容器id   # 删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f  $(docker ps -aq)   #  删除全部容器

7.启动和停止容器

docker start  容器id   # 启动容器
docker restart 容器id  # 重启容器
docker stop  容器id  # 停止当前正在运行的容器
docker kill  容器id  # 强制停止容器

8.后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

docker run -itd --name centos-test centos  /bin/bash

注:加了 -d 参数不会进入容器,想要进入容器需要使用 docker exec 命令,下面会讲到。

9.导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

docker export 容器id > centos.tar   # 导出容器 快照到本地文件 centos.tar

10.导入容器

可以使用 docker import 把容器快照文件导入为镜像。

cat centos.tar | docker import - test/centos:v1  # 将快照文件 centos.tar 导入到镜像 test/centos:v1

此外,也可以通过指定 URL 或者某个目录来导入,例如:

docker import http://example.com/exampleimage.tgz example/imagerepo

四. 其他常用命令

1.在后台启动容器

docker run -d centos

注意:docker后台运行时,必须要有一个前台进程,如果docker容器发现没有运行的应用,会自动停止。

2.查看容器的日志

docker logs -tf  --tail  n(每次显示日志的行数)  容器id

3.查看容器中的进程信息

 docker top 容器id        

4.查看镜像的元数据

docker inspect  容器id

5.进入当前正在运行的容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入

  • docker attach
  • docker exec:推荐大家使用 docker exec 命令,因为这样退出容器终端,不会导致容器的停止。
方式1:docker exec -it 容器id  /bin/bash  # 如果从这个容器退出,不会导致容器的停止
方式2:docker attach 容器id  #  如果从这个容器退出,会导致容器的停止

6.把容器内的文件拷贝到主机

 docker cp 容器id:容器内要拷贝的文件路径   拷贝到主机的路径

五. 总结

​本文总结了一些基础常用的docker命令,大家可以根据下图进行记忆。

​参考地址:https://docs.docker.com/engine/reference/commandline/docker/

今天的学习就到这里了,由于本人能力和知识有限,如果有写的不对的地方,还请各位大佬批评指正。如果想继续学习提高,欢迎关注我,每天学习进步一点点,就是领先的开始,加油。如果觉得本文对你有帮助的话,欢迎转发,评论,点赞!!!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【云+社区年度征文】Docker教程(1)—Docker简介与安装

    我们开发一个项目的时候通常会有两个环境,本地测试环境和线上环境。项目开发上线的时候,我们通常会把项目打成一个jar包或war包上传到线上的服务器,此时为了让项目...

    AlbertYang
  • 【干货合辑】毕业季,如何敲开「IT世界」的大门

    现在 IT 新技术日新月异,IT 行业的工作也变得赤手可热。刚毕业的大学生也蜂拥而至,但是在校的学习经验并没有一定的专业领域的实操经验,而被企业拒之门外。那么,...

    云加社区
  • Docker学习教程笔记第二篇:Docker从入门到熟练使用详解

    Docker的基础是Linux容器(LXC)等技术,(LXC系统提供工具来管理容器,具有先进的网络和存储支持,还有最小容器操作系统模版的广泛选择)。

    聚优云惠
  • 01 . 容器编排简介及Kubernetes核心概念

    ``docker run -H " 我的 Swarm 集群 API 地址 " " 我的容器 "`

    常见_youmen
  • 【云+社区年度征文】我与腾讯云。

    我是一个程序员,因此比较需要一台自己的服务器,配置呢不需要太高,平时跑一些小项目,和数据库的测试。一次偶然的机会,接触到腾讯云,当时是一百元一年,一口气就买了三...

    崔笑颜
  • Docker最全教程之使用Docker搭建Java开发环境(十七)

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。J...

    雪雁-心莱科技
  • Docker最全教程之使用Docker搭建Java开发环境(十八)

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。J...

    心莱科技雪雁
  • PaddlePaddle发布基于Docker的AI系统开发流程

    继两周前(2017年3月11日)PaddlePaddle社区发布新的PythonAPI之后,最近又发布了对应的新版Docker镜像,并优化了镜像的体积和组织方式...

    用户1386409
  • 【云+社区年度征文】Docker教程(3)—Docker安装Tomcat,Nginx与可视化工具Portainer

    前面我们讲了Docker的安装使用,以及一些常用的命令。俗话说只说不练假把式,接下来我们使用安装Docker安装一些常用的镜像,练习一下Docker命令的使用。

    AlbertYang
  • 如何在Ubuntu 14.04上使用Fluentd和ElasticSearch集中Docker日志

    Fluentd是一个开源数据收集器,旨在统一日志记录基础架构。它旨在通过简化和扩展日志来收集和存储日志,从而将运营工程师,应用工程师和数据工程师聚集在一起。

    信姜缘
  • 从技术雷达看​DevOps的十年——容器技术和微服务

    在上一篇文章中,我们讲到了基础设施即代码和云计算给运维领域带来的深远影响。而 DevOps 运动不仅仅改变了运维端,同时也改变了开发端,特别是 Docker 的...

    ThoughtWorks
  • 1024程序员节献礼 | 精通Docker的50个必备教程、工具、资源

    ? 作者:Angela Stringfellow 译者:海松 原题:Master Docker: The Complete Toolkit Includi...

    yuanyi928
  • 大学机器人类公选课(ROS机器人高效编程)申请表、大纲、部分教案、进度表等材料分享

    网页版系统演示(课程网址:https://www.shiyanlou.com/courses/854):

    zhangrelay
  • 【技术创作101训练营】Docker入门级安装使用教程!

    Docker从1.13版本之后分为社区版CE和企业版EE。 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基...

    程序员的时光001
  • 两小时入门 Docker

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2....

    芋道源码
  • Docker容器实战(一) - 封神Server端技术

    即使在当时最热门的PaaS项目Cloud Foundry中,容器也只是其最底层、最没人关注的那一部分。

    JavaEdge
  • 一步步带你构建Spring Boot + Docker的单体应用

    Spring Boot 是 Spring 社区发布的一个开源项目,旨在帮助开发者快速简单地构建可独立运行的项目。Spring Boot 会选择最适合的 Spri...

    Java架构师历程
  • 2小时入门Docker

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2....

    Java团长
  • 必学必会 ● 1小时入门 Docker,让部署应用更快更简单

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2....

    我的小碗汤

扫码关注云+社区

领取腾讯云代金券