Docker容器的操作
1. 容器的创建和启动
新创建的容器默认处在停止状态,不运行任何程序,需要在其中发起一个进程来启动容器,这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全停止。停止的容器可以重新启动并保留原来的修改。
创建容器的命令格式:docker create [选项] 镜像 运行的程序
启动停止状态的容器命令格式:docker start 容器ID/名称
终止运行容器的命令格式:docker stop 容器的ID/名称
下图是创建一个容器,并启动这个容器:
如果想创建的同时启动容器,可以直接执行“docker run” 命令,这个命令等同于先执行“docker create”命令,然后再执行“docker start”命令。需要注意的是只要后面的命令运行结束,容器就会停止。
当利用docker run来创建容器时,Docker会检查本地是否存在指定的镜像,当镜像不存在时,会从公共仓库下载,然后利用镜像创建并启动一个容器,分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层,从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中,并分配一个地址池中的IP给容器,执行用户指定的应用程序,执行完毕后,容器被终止运行,这就是docker run执行的过程。
2. 容器的进入
需要进入容器进行相应的操作是,使用docker exec命令进行运行着的容器。命令格式为:
docker exec -it 容器ID/名称 /bin/bash
其中,-i表示让容器的输入保持打开,-t表示让Docker分配一个伪终端。
进入和退出容器的操作如图:
3. 容器的导出和导入
可以根据需要,将任何一个Docker容器从一个台机器迁移到另一台机器上。在迁移的过程中,首先需要将已经创建好的容器导出为文件,这个操作可以使用docker export命令。无论这个容器是处在运行状态还是处在停止状态都可以导出。导出之后可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。
导出容器的命令格式:docker export 容器ID/名称 > 文件名
导出的文件从A机器拷贝到B机器,之后用docker import命令导入,成为镜像。
导入容器的命令格式:cat 文件名|docker import - 生成的镜像名称:标签
4. 删除容器
使用docker rm命令将一个已经处于终止状态的容器删除。
命令格式:docker rm 容器ID/名称
注:如果要删除一个正在运行的容器,需要添加-f选项强制删除。