本节我们将学习Docker容器命令之新建+启动容器。
有镜像才能创建容器这是根本前提(下载一个centos或者ubuntu镜像演示。说明:本次用ubuntu进行说明。
1.容器命令一: 新建+启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Option说明 (有些是一个减号,有些是两个减号)
--name="容器新名字" #为容器指定一个名称; -d #后台运行容器并返回容器ID,即启动守护式容器(后台运行)(后续讲解) -i #以交互模式运行容器,通常与-同时使用 -t #为容器重新分配一个伪输入终端,通常与-i同时使用。 -it #即启动交互式容器(前台有伪终端,等待交互);) -i #交互式操作 -t #终端

成功进入交互式Docker容器,命令提示符出现(代表容器创建并运行成功),显可在容器里执行各类Linux命令。
-P #随机端口映射,大写P -p #指定端口映射,小写p
这是更常用的方式,能手动指定宿主机端口和容器端口的对应关系,核心格式是:
-p hostPort #containerPort (进阶用法,能指定宿主机的具体IP来绑定端口,比如只让宿主机的内网IP提供端口访问。) - hostPort #宿主机上对外开放的端口 - containerPort #容器内应用实际监听的端口
示例:
docker run -d -p 8080:80 nginx
就是把宿主机的8080端口,映射到容器内nginx的80端口,访问宿主机8080就等同于访问容器内的80端口。
启动交互式容器
docker run -it ubuntu /bin/bash
1./bin/bash 的含义: -bash 是Linux系统中最常用的命令行终端解释器,相当于Windows的cmd/PowerShell;- /bin 是Linux系统中存放可执行程序的核心目录,所以 /bin/bash 就是bash解释器的具体路径。(希望有个交互式 Shell,因此用的是 /bin/bash。)
2.当你执行 docker run -it ubuntu /bin/bash 时,会让容器启动后直接进入bash终端,这样你才能在容器里输入 ls 、 ps 等Linux命令。
3.有些精简的Linux镜像(如Alpine)没有bash,会用 /bin/sh (更轻量的shell解释器),命令就变成 docker run -it alpine /bin/sh 。
4.也可以简写为 bash (省略路径),即 docker run -it ubuntu bash ,Docker会自动在容器的环境变量 PATH 中找到bash的路径。

5.要退出终端,直接输入 exit
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程