1. 新建容器
      [root@docker ~]# docker create -it ubuntu:latest
      新建的容器处于停止状态
    2. create命令选项
      参考链接
    3. 启动容器
      [root@docker ~]# docker start priceless_archimedes
      启动容器名称通过docker ps -a查看,粘贴names或者id值启动容器
    4. 创建并启动容器
    • 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启动的容器) |
    1. 守护态后台运行
      [root@docker ~]# docker run -d ubuntu /bin/sh -c “while true; do echo hello; sleep 1; done”
    2. 查看容器输出
      [root@docker ~]# docker logs 6a590199c02a