docker使用基础
本文是关于使用docker过程中的一些理解,从基础记录起。
官方教程地址:https://docs.docker.com/get-started/
一些基础操作
显示所有镜像信息:docker images
显示所有容器信息:docker ps
创建新的docker镜像
创建一个新的镜像,一般有两种方式:
-
编辑dockerfile,设置相关的参数,进行docker build。
-
运行已有的镜像,在该镜像的基础上进行修改,再将修改后的镜像另存为新的镜像。
使用命令行运行镜像:docker run -it image_name:tag [具体要运行的程序]
如果docker中包含的功能较单一,则可忽略具体要运行的程序,常用的如
/bin/bash
一般是针对有完整系统,运行bash。按照我自己的理解,运行docker时,其实是运行了一个副本,系统每次都会为其做一个缓存,这也是为什么每次run同一个docker之后,系统为之分配的字段都有所不同。
在docker系统中做了任意的操作之后,在exit后,如果没有显式地保存,修改都无法被保存,重新运行docker之后发现不存在。
为保存修改,应进行docker commit [-a auther string] [-m message string] 系统字段(上图中划出红色线部分) save_name:tag
保存后,image_id字段又会相应地改变,如果要保存,只需要使用相同的save_name和tag字段;也可只使用tag来进行版本的控制;如果需要保存为新的镜像,即使用新的命名字段,这样可以保证原有的镜像上的所有新的修改,都保存到新的镜像中去。
-
保存和加载镜像
使用命令保存镜像:
docker save [-o output_string] Image
压缩文件即可进行移动,可以拷贝到需要的位置,再加载:
docker load -i 文件名
文件名多以tar结尾。
docker的使用
使用镜像(image)创建一个容器(container):
docker run -it --name container_name image_id
激活对应的docker:
docker start container_id
这样就可以在docker ps输出的结果中查看到。
进入相应的docker:
docker attach container_id
或者
docker exec -it container_id command
向/从容器中拷贝文件或文件夹:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Options:
-a, --archive Archive mode (copy all uid/gid information)
-L, --follow-link Always follow symbol link in SRC_PATH
从运行的docker中exit出来后,相当于运行了
docker stop container_id
需要重新进行激活,与运行。