所谓存出,我们设想这样的场景应用:当需要将一台机器上的镜像迁移到另一台机器上的时候,需要将镜像保存成本地文件,这个过程就叫做存出镜像。
你可以简单理解为将镜像打成压缩包方便使用
命令描述:将指定镜像保存成 tar 归档文件
命令格式:docker save [OPTIONS] IMAGE [IMAGE...]
OPTIONS 说明: -o :输出到的文件。实例演示:
[root@docker ~]# docker save -o /opt/nginx nginx:latest [root@docker ~]# ll /opt/ 总用量 127560 drwx--x--x. 4 root root 28 4月 6 09:45 containerd -rw-------. 1 root root 130618880 4月 6 14:04 nginx drwxr-xr-x. 2 root root 6 10月 31 2018 rh那么有存出,就必定有对应的载入操作,我们将存出的文件从本地复制一份到其他机器上是,我们需要使用这个镜像,可以通过下面的命令实现载入镜像
7、载入镜像:docker load命令描述:载入镜像文件
命令格式:docker load [OPTIONS]
Options: -i, --input string Read from tar archive file, instead of STDIN -q, --quiet Suppress the load output实例演示:
[root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE #一: [root@docker ~]# docker load < /opt/nginx c3a984abe8a8: Loading layer 72.48MB/72.48MB 99134ec7f247: Loading layer 58.11MB/58.11MB d37eecb5b769: Loading layer 3.584kB/3.584kB Loaded image: nginx:latest [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest ed21b7a8aee9 6 days ago 127MB #二:从tar存档文件中读取,而不是从STDIN中读取 [root@docker ~]# docker load --input /opt/nginx #或者使用-i代替--input也是一样的 c3a984abe8a8: Loading layer 72.48MB/72.48MB 99134ec7f247: Loading layer 58.11MB/58.11MB d37eecb5b769: Loading layer 3.584kB/3.584kB Loaded image: nginx:latest 8、上传镜像:docker login (不做细说以及演示)命令描述:将自己本地的镜像制作好后上传到仓库中
命令格式:docker login
结合docker push NAME[:TAG]使用
Docker容器操作命令关于Docker容器的操作笔者换一种风格来介绍,但是还是会通过实例来方便大家理解。
首先,容器简单而言,是基于镜像的一个运行实例,是独立运行的一个或一组应用以及其所必需的运行环境,包括文件系统、系统类库、shell环境等。镜像是只读模板,而容器会给这个只读模板一个额外的可写层。
接下来就容器来讲述具体的操作命令。
1、容器创建与启动 容器创建就是将镜像加载到容器的过程,因为是docker是轻量级的应用工具,用户可以随时进行创建或者删除。新建的容器默认处于停止状态,不允许任何程序,需要在其中发起一个进程来启动容器,这个进程就是这个容器的唯一进程,因此在该进程结束的时候,容器也会完全停止。停止的容器可以重新启动并且保留原来的修改。
容器的创建容器创建命令:docker create
命令格式:docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
常用的options:
-i:让容器的输入保持打开
-t:让docker分配一个伪终端
实例演示:
[root@docker ~]# docker create -it nginx:latest /bin/bash a1a2e8468189b146b0215971cf76947987d8fc3f42c58e77371e8d48afb030d1 [root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a1a2e8468189 nginx:latest "/bin/bash" 7 seconds ago Created gallant_feynman相关说明:
CONTAINER ID:容器ID号
IMAGE:使用的镜像
COMMAND :
CREATED:显示操作时间
STATUS:显示状态,created表示已创建
PORTS:端口 信息和使用的连接类型(tcp/udp)
NAMES:自动分配容器的名称
容器的启动命令:docker start
命令格式:docker start [OPTIONS] CONTAINER [CONTAINER...]
实例演示:
[root@docker ~]# docker start a1a2e8468189 a1a2e8468189 [root@docker ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a1a2e8468189 nginx:latest "/bin/bash" 10 minutes ago Up 2 seconds 80/tcp gallant_feynman启动后,发现端口信息出来了,并且显示是up状态,表示容器已经是启动状态了。