- 新建容器
[root@docker ~]# docker create -it ubuntu:latest
新建的容器处于停止状态 - create命令选项
参考链接 - 启动容器
[root@docker ~]# docker start priceless_archimedes
启动容器名称通过docker ps -a查看,粘贴names或者id值启动容器 - 创建并启动容器
- docker run命令,等价于先执行docker create命令,然后执行docker start命令
[root@docker ~]# docker run -it ubuntu /bin/bash - Docker中系统镜像的缺省命令是 bash,如果不加 -it bash 命令执行了自动会退出。这是因为如果没有衔接输入流,本身就会马上结束。加-it 后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自动退出。
- 服务类容器以 daemon 的形式运行,对外提供服务。比如 web server,数据库等。通过 -d 以后台方式启动这类容器是非常合适的。如果要排查问题,可以通过 exec -it 进入容器。
- 工具类容器通常给能我们提供一个临时的工作环境,通常以 run -it 方式运行,执行 exit 退出终端,同时容器停止。
| -d, —detach=false | 指定容器运行于前台还是后台,默认为false |
| —- | —- |
| -i, —interactive=false | 打开STDIN,用于控制台交互 |
| -t, —tty=false | 分配tty设备,该可以支持终端登录,默认为false |
| -u, —user=”” | 指定容器的用户 |
| -a, —attach=[] | 登录容器(必须是以docker run -d启动的容器) |
| -w, —workdir=”” | 指定容器的工作目录 |
| -c, —cpu-shares=0 | 设置容器CPU权重,在CPU共享场景使用 |
| -e, —env=[] | 指定环境变量,容器中可以使用该环境变量 |
| -m, —memory=”” | 指定容器的内存上限 |
| -p, —publish-all=false | 指定容器暴露的端口 |
| -h, —hostname=”” | 指定容器的主机名 |
| -v, —volume=[] | 给容器挂载存储卷,挂载到容器的某个目录 |
| —volumes-from=[] | 给容器挂载其他容器上的卷,挂载到容器的某个目录 |
| —entrypoint=”” | 覆盖image的入口点 |
| —env-file=[] | 指定环境变量文件,文件格式为每行一个环境变量 |
| —expose=[] | 指定容器暴露的端口,即修改镜像的暴露端口 |
| —link=[] | 指定容器间的关联,使用其他容器的IP、env等信息 |
| —lxc-conf=[] | 指定容器的配置文件,只有在指定—exec-driver=lxc时使用 |
| —name=”” | 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字 |
| —net=”bridge” 容器网络设置 | bridge :使用docker daemon指定的网桥
host:容器使用主机的网络
container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
none:容器使用自己的网络(类似—net=bridge),但是不进行配置 | | —restart=”no” 指定容器停止后的重启策略,默认容器退出时不重启 | on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启
—rm=false 指定容器停止后自动删除容器(不支持以docker run -d启动的容器) |
