2019-07 第四、八章 容器的创建、启动、停止、重启和清理

镜像是静止的。

容器是动态的,状态分为:创建、运行、退出、挂起、被删除

    运行: 

            A. 新的容器:  docker run   [-i/-d]  <镜像名>  [options]            --> -i 交互模式,常用于启动bash(-t 选项启动新terminal;-a选项是连接到当前会话的terminal)进入容器,排查、改变容器(进而commit新镜像)

                                                                                                          --> -d 服务模式,daemon

                                                                                                          --> options通常是:容器资源定义和限制:    --memory=xx --memory-swap=xx(默认swap是2倍memory) --cpu-shares=xx(上限也是默认) --cpuset-cups=xx(限制住分配哪个cpu核)

            B. 之前退出的容器:docker start [-i/-d] <容器id/容器名>  [options]        --> 取得上次退出时的状态、选项:运行命令、端口、挂载目录

            * 进入正在运行的容器:docker exec -it <容器id/容器名> /bin/bash    

    退出:   运行状态被保存,包括上次启动运行的命令参数

            A. docker  kill <容器id/容器名>

                    kill操作一定能stop掉容器,但可能不能在start这个容器了。这时,两个方案重起容器:

                        1. 之前容器没有修改过:docker run <镜像>

                        2. 之前容器有重要修改:

                            docker ps -a         -->得到容器id

                            docker export <容器id> > tarball

                            解压tarball,修复issue,重新打包

                            cat tarball | docker import -

                            docker run 

                    有用的kill信号:

                        docker kill -s SIGHUP <容器id/容器名>        -->  容器内的服务会reload配置文件,没有downtime

                        docker kill -s SIGINT <容器id/容器名>          -->  向容器容器的前台进程发出键盘中断 Ctrl+C

            B. docker stop <容器id/容器名>

            C. 容器完成了命令/任何,自行退出

            * 察看容器退出码: docker wait <容器id/容器名>

    挂起:   挂起容器内的所有进程,基于cgroups freeze特性而实现的

            A. docker pause <容器id/容器名>        

            A-1. docker unpause <容器id/容器名>            --> resume容器内的进程

    删除

            A. docker rm <容器id/容器名>            --> 如果在docker run/start时加上 --rm 选项,那么在容器退出时,容器也会被删除

            B. docker rmi <容器id/容器名>            --> 连镜像一起删除。

    创建:    相当于docker run -d <镜像名>  [options],  但容器内进程没起来,容器就stop的效果

            docker create <镜像名>  [options] 

你可能感兴趣的:(2019-07 第四、八章 容器的创建、启动、停止、重启和清理)