docker run \\
  -u root \\
  -d \\
  -v /home/your_app_code:/data/srv/your_app/ \\
  -v /home/supervisor.conf:/home/supervisord.conf \\
  -v /etc/localtime:/etc/localtime:ro \\
  --cpuset-cpus="0-6" \\
  --restart=always \\
  your_image:your_tag

1. `u root`: 以 root 用户身份运行容器。这可以提供更高的权限和访问权限。
2. `d`: 在后台模式(detached mode)下运行容器,即容器将在后台运行,并将容器的输出附加到终端上。
3. `v /home/itemgule-exc-tao:/data/srv/aiyong-item-legacy-itemgule/`: 将宿主机上的 `/home/itemgule-exc-tao` 目录挂载到容器中的 `/data/srv/aiyong-item-legacy-itemgule/` 目录,实现宿主机和容器之间的文件共享。
4. `v /etc/localtime:/etc/localtime:ro`: 将宿主机上的 `/etc/localtime` 文件挂载为容器中的 `/etc/localtime` 文件,并设置为只读模式。这将确保容器内的时间与宿主机的时间同步。
5. `-cpuset-cpus="0-6"`: 将容器限制在编号为 0 到 6 的 CPU 核心范围内。这将使容器只能在这些 CPU 核心上运行。
6. `-restart=always`: 在容器退出时自动重启容器。这样,无论容器是正常退出还是异常退出,都会自动重新启动。
7. `ext-tao-master-video-python11:master`: 指定要运行的容器镜像的名称和标签。这是要在容器中运行的实际应用程序。
  1. u root:以 root 用户身份运行容器,赋予容器更高的权限和访问能力,方便进行一些需要高权限的操作,如修改系统配置等。
  2. d:使容器以后台模式(detached mode)运行。容器启动后会在后台持续运行,不会将容器的输出信息直接显示在终端上,让用户可以继续在当前终端进行其他操作。
  3. v /home/your_app_code:/data/srv/your_app/:把宿主机上的 /home/your_app_code 目录挂载到容器内的 /data/srv/your_app/ 目录。这样做可以实现宿主机和容器之间的文件共享,在宿主机上对 /home/your_app_code 目录下文件的修改会直接反映到容器内的 /data/srv/your_app/ 目录中,反之亦然。
  4. v /etc/localtime:/etc/localtime:ro:将宿主机的 /etc/localtime 文件挂载到容器内的 /etc/localtime 文件位置,并设置为只读模式(ro)。此操作的目的是保证容器内的时间与宿主机的时间保持同步,因为 /etc/localtime 文件通常存储着系统的时区信息。
  5. -cpuset-cpus="0-6":限制容器只能在编号为 0 到 6 的 CPU 核心上运行。通过这种方式,可以对容器使用的 CPU 资源进行精确控制,避免容器过度占用 CPU 资源影响其他进程或容器的运行。
  6. -restart=always:当容器退出时,无论退出是正常情况还是异常情况,Docker 都会自动重新启动该容器。这有助于保证容器服务的高可用性,即使容器因为某些原因意外退出,也能迅速恢复运行。
  7. your_image:your_tag:指定要运行的容器镜像的名称和标签。your_image 是镜像的名称,your_tag 是镜像的版本标识,通过这两个信息可以准确地定位并使用特定版本的镜像来启动容器。

换行

docker run -d \\
  -p 127.0.0.1:3000:3000 \\
  -p 127.0.0.1:7890:7890 \\
  c3873e7b5abf