docker create命令的用法说明

 更新时间:2021年3月30日 15:00  点击:1841

docker create命令能够基于镜像创建容器。

该命令执行的效果类似于docker run -d,即创建一个将在系统后台运行的容器。

但是与docker run -d不同的是,docker create创建的容器并未实际启动,还需要执行docker start命令或docker run命令以启动容器。

事实上,docker create命令常用于在启动容器之前进行必要的设置。

示例如下:

1.创建容器

docker create -it --name mycontainer ubuntu_image bash

示例:

[root@my ~]# docker create -it --name myvm ubuntgu_image bash
840e4617fac5117c4a142ae6e86ac38e4590a0d6706029abe736843365b16d3640
[root@my ~]# docker ps -a | grep myvm
840e4617fac5    9faf320835640                      "/bin/sh -c '/opt/test"  2 minutes ago    Created                                 myvm

2.启动容器

docker start -a -i mycontainer

docker run -it --name mycontainer ubuntu_image bash

关于docker run命令,这里我就不多介绍了。

补充:Docker的基本命令

一、基本命令

docker version查看docker版本

docker info查看docker详细信息

docker --help查看docker命令

二、镜像命令

docker images查看docker镜像

PEPOSITORY:镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

同一个仓库源可以有多个TAG,表示这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像。如果不指定一个镜像的版本标签,例如只使用tomcat,docker将默认使用tomcat:latest镜像

docker images -a列出本地所有的镜像

docker images -p只显示镜像ID

docker images --digests显示镜像的摘要信息

docker images --no-trunc显示完整的镜像信息

docker search tomcat从Docker Hub上查找tomcat镜像

STARS:关注度

docker search -s 30 tomcat从Docker Hub上查找关注度大于30的tomcat镜像

docker pull tomcat从Docker Hub上下载tomcat镜像。等价于:docker pull tomcat:latest

docker commit -m "提交的描述信息" -a "作者" 容器ID 要创建的目标镜像名称:[标签名]提交容器使之成为一个新的镜像。

如:docker commit -m "新的tomcat" -a "lizq" f9e29e8455a5 mytomcat:1.2

docker rmi hello-world从Docker中删除hello-world镜像

docker rmi -f hello-world从Docker中强制删除hello-world镜像

docker rmi -f hello-world nginx从Docker中强制删除hello-world镜像和nginx镜像

docker rmi -f $(docker images -p)通过docker images -p查询到的镜像ID来删除所有镜像

三、容器命令

docker run [OPTIONS] IMAGE根据镜像新建并启动容器。IMAGE是镜像ID或镜像名称

OPTIONS说明:

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

  ip:hostPort:containerPort

  ip::containerPort

  hostPort:containerPort

  containerPort

docker ps列出当前所有正在运行的容器

docker ps -a列出所有的容器

docker ps -l列出最近创建的容器

docker ps -n 3列出最近创建的3个容器

docker ps -q只显示容器ID

docker ps --no-trunc显示当前所有正在运行的容器完整信息

exit退出并停止容器

Ctrl+p+q只退出容器,不停止容器

docker start 容器ID或容器名称启动容器

docker restart 容器ID或容器名称重新启动容器

docker stop容器ID或容器名称停止容器

docker kill 容器ID或容器名称强制停止容器

docker rm 容器ID或容器名称删除容器

docker rm -f 容器ID或容器名称强制删除容器

docker rm -f $(docker ps -a -q)删除多个容器

docker logs -f -t --since --tail 容器ID或容器名称查看容器日志

如:docker logs -f -t --since=”2018-09-10” --tail=10 f9e29e8455a5

 -f : 查看实时日志

 -t : 查看日志产生的日期

 --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志

 --tail=10 : 查看最后的10条日志

docker top 容器ID或容器名称查看容器内运行的进程

docker inspect 容器ID或容器名称查看容器内部细节

docker attach 容器ID进到容器内

docker exec 容器ID进到容器内

docker cp 容器ID:容器内的文件路径 宿主机路径从容器内拷贝文件到宿主机.

如:docker cp f9e29e8455a5:/tmp/yum.log /root

以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。

[!--infotagslink--]

相关文章

  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • Linux中grep命令详解

    grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令,这篇文章主要介绍了Linux中grep详解,需要的朋友可以参考下...2023-02-15
  • C#隐式运行CMD命令(隐藏命令窗口)

    这篇文章主要介绍了C#隐式运行CMD命令(隐藏命令窗口),本文实现在winform窗口中运行CMD命令,需要的朋友可以参考下...2020-06-25
  • PHP实现连接设备、通讯和发送命令的方法

    本文实例讲述了PHP实现连接设备、通讯和发送命令的方法。分享给大家供大家参考。具体如下:开发的BS架构的软件(PHP),需要跟设备进行通讯,在此记录一下,欢迎各位指正:1. 采用php socket技术使用TCP/IP连接设备参数$service_po...2015-10-21
  • 对MySQL日志操作的一些基本命令总结

    MySQL日志主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句...2015-11-24
  • docker 启动elasticsearch镜像,挂载目录后报错的解决

    这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
  • Mysql命令大全(详细篇)

    一、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql/bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密...2015-11-08
  • 解决Docker中的error during connect异常情况

    这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-22
  • 查看Redis内存信息的命令

    Redis 是一个开源、高性能的Key-Value数据库,被广泛应用在服务器各种场景中。本文介绍几个查看Redis内存信息的命令,包括常用的info memory、info keyspace、bigkeys等。...2021-01-15
  • 解决jmap命令打印JVM堆信息异常的问题

    这篇文章主要介绍了解决jmap命令打印JVM堆信息异常的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-04
  • 教你使用Portainer管理多台Docker容器环境的方法

    这篇文章主要介绍了Portainer管理多台Docker容器环境,本文给大家介绍的非常详细,包括环境准备及管理docker的详细过程,需要的朋友可以参考下...2021-11-11
  • docker部署confluence的完整步骤

    这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下...2021-06-11
  • docker swarm外部验证负载均衡时不生效的解决方案

    这篇文章主要介绍了docker swarm外部验证负载均衡时不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-27
  • 解决docker挂载的目录无法读写问题

    这篇文章主要介绍了解决docker挂载的目录无法读写问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-19
  • MySQL的常用命令集锦

    下面是我们经常会用到且非常有用的MySQL命令。下面你看到#表示在Unix命令行下执行命令,看到mysql>表示当前已经登录MySQL服务器,是在mysql客户端执行mysql命令。 登录MySQL,如果连接远程数据库,需要用-h指定hostname。登...2015-11-24
  • docker端口映射及外部无法访问问题

    这篇文章主要介绍了docker端口映射及外部无法访问问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-19
  • Docker 解决openjdk容器里无法使用JDK的jmap等命令问题

    这篇文章主要介绍了Docker 解决openjdk容器里无法使用JDK的jmap等命令问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-04
  • shell脚本批量复制及执行命令的示例详解

    这篇文章主要介绍了批量复制及执行命令shell脚本,本文通过列举几个示例给大家详细介绍,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • C#实现的调用DOS命令操作类实例

    这篇文章主要介绍了C#实现的调用DOS命令操作类,实例分析了C#调用系统常用DOS命令的相关技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • 一条命令重启所有已停止的docker容器操作

    这篇文章主要介绍了一条命令重启所有已停止的docker容器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20