docker create命令的用法说明

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镜像

docker create命令的用法说明

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 create命令的用法说明

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

docker create命令的用法说明

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

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