《Docker入门与实战-第二版》读书笔记
2020-07-31 13:55:53 0 举报
AI智能生成
登录查看完整内容
《Docker入门与实战-第二版》 读书笔记。包括docker基本概念和常用命令,包括镜像,容器,仓库,网络设置。
作者其他创作
大纲/内容
Docker
基本概念
镜像(Image)
Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。镜像是创建Docker容器的基础
容器(Container)
容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层
容器镜像是轻量的、可执行的独立软件包,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。
仓库(Repository)
仓库类似于代码仓库,它是Docker集中存放镜像文件的场所。
常用命令
Docker设置
docker自启动:systemctl enable docker
启动docker: systemctl start docker.service
停止docker: systemctl stop docker.service
重启docker:systemctl restart docker.service
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
docker的对象信息,json格式的
镜像相关
搜索镜像
docker search <image>
搜索线上镜像
获取镜像
docker pull <image>:[tag]
从仓库拉取镜像
查看镜像
docker images
参数
-a:显示所有的,默认情况下,过滤掉中间映像层
--no-trunc:输出内容不截取
-f :显示满足条件的镜像
-q :只显示镜像ID
删除镜像
docker rmi [OPTIONS] [IMAGE...]
其中IMAGE可以为标签或ID。当为标签时,如果该镜像有多个标签,该命令只是删除这个标签,并不影响镜像本身。
创建镜像
基于已有镜像的容器创建:docker commit
基于本地模板导入:docker import
基于Dockerfile创建:docker build
docker build [OPTIONS] PATH | URL | -
--build-arg=[] :设置镜像创建时的变量;--cpu-shares :设置 cpu 使用权重;--cpu-period :限制 CPU CFS周期;--cpu-quota :限制 CPU CFS配额;--cpuset-cpus :指定使用的CPU id;--cpuset-mems :指定使用的内存 id;--disable-content-trust :忽略校验,默认开启;-f :指定要使用的Dockerfile路径;--force-rm :设置镜像过程中删除中间容器;--isolation :使用容器隔离技术;--label=[] :设置镜像使用的元数据;-m :设置内存最大值;--memory-swap :设置Swap的最大值为内存+swap,\"-1\
存出和载入镜像
docker save:保存之后就可以跟其他人分享了
docker load:载入通过save得到的镜像文件
上传镜像(需要注册)
docker push NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]
标记本地镜像
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
比如:docker tag ubuntu:latest myubuntu:latest
容器相关
创建容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]docker run,等价于先执行docker create命令,再执行docker start命令。
font color=\"#c41230\
比如:docker run -d -p 8080:80 --name myapp myaspnetapp
对于所创建的bash容器,当使用exit命令退出之后,容器就自动处于退出(Exited)状态了。这是因为对Docker容器来说,当运行的应用退出后,容器也就没有继续运行的必要了。参数-d可以后台运行
查看容器
docker ps
-a 查看所有容器
启动容器
docker start <ContainerId(或者name)>
停止容器
docker stop <ContainerId(或者name)>
重启容器
docker restart <ContainerId(或者name)>
删除容器
docker rm <ContainerId(或者name)>
进入容器
docker exec -it containerID
导出容器
docker export
导入容器
docker import
导入后变成镜像
查看容器日志
docker logs [OPTIONS] CONTAINER
--tail :从日志末尾显示的行数,默认all
比如查看myapp7容器最后20行日志:docker logs -f -t --tail 20 myapp7
网络
在主机上创建一个网络:docker network create mynet
查看自定义bridge网络:docker network inspect mynet
断开网络:docker network disconnet mynet <Container ID>
移除网络(要求所有容器关闭或断开与此网络的连接):docker network rm mynet
0 条评论
回复 删除
下一页