软件测试|docker create 与 docker run的异同,你都会了吗?

  • Post author:
  • Post category:其他


在这里插入图片描述



Docker Run vs Docker Create:创建和管理容器的差异

Docker是一种流行的容器化平台,它提供了多种命令来创建和管理容器。其中两个常用的命令是”docker run”和”docker create”。虽然它们都用于创建容器,但在用法和功能上有一些区别。让我们来看看它们之间的差异。



docker create


docker create

可以创建一个新的容器,但是这个容器不会被启动,语法如下:

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]


options 说明:

option 作用
–name 指定容器的名字


使用示例

根据

mysql

镜像,创建一个

hogwarts_mysql

容器

docker create --name=hogwarts_mysql mysql

在这里插入图片描述


注:如果我们要启动该容器,我们可以使用

docker start

命令来启动该容器

这种分离的创建和启动过程可以为我们提供更多的灵活性和控制权,因为我们可以在容器创建后,根据需要对其进行更改或配置。



docker run


docker run

可以创建并运行一个新的容器,语法如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

注: 跟

docker create

一样的语法格式,只不过可以运行容器甚至进入容器内部


COMMAND

:需要在容器内执行的命令


执行流程

  1. 首先在指定镜像上创建一个可写的容器层
  2. 然后使用指定的命令(COMMAND)启动它

  3. docker run

    相当于执行了两个 操作:

    /containers/create



    /containers/(id)/start


常用options参数

option 作用
-i 以交互模式运行容器,通常与 -t 同时使用
-t 启动容器后,为容器分配一个命令行,通常与 -i 同时使用
-v 目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录>
-d
守护进程,后台运行该容器
-p 指定端口映射,格式:主机(宿主)端口:容器端口
-P 随机端口映射,容器内部端口随机映射到主机的端口
-u 以什么用户身份创建容器
–name “nginx-lb” 容器名字
-m, –memory bytes 设置容器使用内存最大值
-h, –hostname string 指定容器的 host name
–dns 8.8.8.8 指定容器 dns 服务器
-e username=“ritchie” 设置环境变量
–restar t Docker 重启后,容器是否自动重启
–privileged 容器内是否使用真正的 root 权限


-p 的写法

docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口 (常用) 
docker run -p 容器端口

使用示例:

docker run --name muller_mysql mysql

在这里插入图片描述



总结

“docker run”命令用于创建并启动一个新的容器,而”docker create”命令仅用于创建容器,而不会自动启动它。使用”docker create”可以在容器创建后对其进行更多的配置或修改,然后使用”docker start”来手动启动容器。


获取更多技术资料,请点击!



版权声明:本文为Tester_muller原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。