此命令等同于合并了创建容器和启动容器等操作(等同于docker run)
格式:docker container run [OPTIONS] IMAGE [COMMAND] [ARG…]
–name 自定义容器名称:自定义启动的Docker容器名称;便于辨识
-h HostName:自定义容器主机名
-d:以后台运行方式启动Docker容器
-p;启动容器时指定端口映射关系;多端口映射时多-p参数
HostPort:ContainerPort
-v:启动容器时指定数据挂载卷;多卷时多-v参数
src:dst:指定映射目录HostPath:ContainerPath;目录结尾不能有“/”线
–name 自定义容器名称:自定义启动的Docker容器名称;便于辨识
-h HostName:自定义容器主机名
-d:以后台运行方式启动Docker容器
-p;启动容器时指定端口映射关系;多端口映射时多-p参数
HostPort:ContainerPort
-v:启动容器时指定数据挂载卷;多卷时多-v参数
src:dst:指定映射目录HostPath:ContainerPath;目录结尾不能有“/”线
基本用法(以Nginx为例):docker container run -d -p 80:80 nginx
说明:
1、此命令默认容器启动时为前端显示临时运行模式,就是退出容器后容器也停止运行了,因此我们在启动容器时需要后端运行模式
2、容器启动时默认网络为桥接至Docker专用内网的,简单点就是无法直接访问到容器的内容,因此我们在启动容器时需要映射端口
[root@localhost data]# docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@localhost data]# docker container run -d -p 80:80 nginx d4c07c7a5015079d3bcfc9562dcf98c46629307f1f2f18f214d017329edb220e [root@localhost data]# docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b2036f8f9066 nginx "nginx -g 'daemon of…" 9 minutes ago Up 9 minutes 0.0.0.0:80->80/tcp eloquent_euclid
高级用法(以Nginx为例):docker container run -d -h nginx -p 80:80 -v HostPath:ContainerPath –name ningx nginx
说明:
1、启动容器时后端运行模式
2、定义容器内系统的主机名
3、启动容器时映射端口
4、定义容器内外映射关联的目录,意思就是所关联目录的数据是同步的(平时管理实际数据直接在主机上管理即可,无需进入容器内管理),这样方便实际的数据管理。此处我们用Nginx为例关联程序的配置文件目录及站点存放目录
5、容器默认启动时是自动定义容器名且不便于辨识,因此需要定义容器名,这里就定义为nginx
[root@localhost data]# docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@localhost data]# docker container run -d -h nginx -p 80:80 -v /data/nginx-conf.d:/etc/nginx/conf.d -v /data/nginx-www:/usr/share/nginx/html --name nginx nginx 2d51d57922244c1fd6fcc62b9b8e8c747980637bcee205348eb9cd9bcb0f7c0b [root@localhost data]# docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2d51d5792224 nginx "nginx -g 'daemon of…" 5 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp nginx