简介
Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。其中一个最基本且重要的Docker命令是docker run,用于创建和启动容器。本文将详细解析docker run命令的用途、参数和示例,帮助您全面掌握创建和启动容器的过程。
docker run
在Docker中,容器是运行应用程序的独立环境。docker run命令用于根据指定的镜像创建和启动一个新的容器。下面是docker run命令的基本语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
注1:docker run与docker create语法格式一样,只是docker run会创建并运行容器甚至可以进入容器内部
注2:COMMAND需要在容器内执行的命令
docker run 执行流程
第一步,在指定镜像上创建一个可写的容器层
第二步,使用指定的命令(COMMAND)启动它
简而言之,docker run 相当于执行了两个 API:/contAIners/create、/containers/(id)/start
options参数说明
docker run命令有很多的参数,很多参数都拥有重要的作用,这里我们介绍一下最常用的部分参数
注:-p参数的用法
docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口 (常用)
docker run -p 容器端口
使用示例
docker run --name tomcat_hogwarts tomcat:7
这样运行,会直接将容器运行日志打印出来,所以一般都需要加 -d参数,否则无法继续敲其他命令
docker run -d --name tomcat_hogwarts01 tomcat:7
运行如下图:
通过-d参数创建容器,不影响我们运行其他命令。
docker run -d -P --name tomcat_muller tomcat:7
docker run -d -p 8888:8080 --name tomcat_salah tomcat:7
可以看到 PORTS 一列,主机的 8888 端口指向了容器的 8080 端口。
docker run -d -p 127.0.0.1:8888:8080 -v /usr/local/webapps:/usr/local/webapps -it --name tomcat77 tomcat:7 bash
注:如果这里加了-d 参数,则不会进入容器的 CLI 界面;如果不加 bash 命令,则会执行 tomcat 容器本身自动会执行的命令( catalina.sh run ),也会进不了 CLI 界面,因为会打印一堆运行日志
docker run -it -p 1111:8080 tomcat:7 bash
# 创建容器
docker run -d --name jenkin_hogwarts --privileged=true jenkins/jenkins
# 进入容器
docker exec -it jenkin_hogwarts bash
不加 --privileged的例子
# 创建容器
docker run -d --name jenkins_muller jenkins/jenkins
# 进入容器
docker exec -it -uroot jenkins_muller bash
注:
docker run -d --name jenkins_salah --restart always jenkins/jenkins
exit #容器直接退出
ctrl +P +Q #容器不停止退出 ---注意:这个很有用的操作
总结
docker run命令是Docker中最基本且重要的命令之一,用于创建和启动容器。通过了解和灵活使用不同的选项和参数,可以定制容器的名称、端口映射、数据持久化、环境变量等设置。希望本文对大家理解和使用docker run命令有所帮助,并能够顺利创建和启动自己的Docker容器!