docker学习笔记

学习docker

https://yeasy.gitbooks.io/docker_practice/content/

删除docker

https://www.cnblogs.com/q4486233/p/6482711.html

避免使用sudo docker

http://blog.csdn.net/baidu_36342103/article/details/69357438

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

docker比传统虚拟化的优势

1、更快速的启动时间(直接在宿主的内核上跑的)

2、有效利用资源(不用虚拟硬件环境)

3、一致地运行环境(开发、测试、调试)

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

检查本地是否存在指定的镜像,不存在就从公有仓库下载

利用镜像创建并启动一个容器

分配一个文件系统,并在只读的镜像层外面挂载一层可读写层

从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去

从地址池配置一个 ip 地址给容器

执行用户指定的应用程序

执行完毕后容器被终止

docker run

-d:就是让Docker在后台运行而不是直接把执行命令的结果输出在当前宿主主机下。

-i:指的是交互

-t:好像是伪命令框

--rm:关闭之后直接删除

docker container log [container id or names]

用来获取容器的输出信息

docker container attach [container id or names]

用来进入一个正在运行的容器

docker container restart [container id or names]

用来重启一个容器

docker export [container id] > [压缩包名字]

docker container prune

用于清理掉所有处于种植状态的容器

docker pull ubuntu:16.04

tihuguanding

docker attach 和 docker  exec

前者如果从stdin中exit的话,容器会停止

docker exec从stdin中exec的话,容器不会停止

docker load 和docker import的区别

区别一:

docker load:导入镜像文件到本地镜像库

docker import:从容器快照文件中再导入为镜像

区别二:

docker load:镜像存储文件保存完整记录,体积也大。

docker import:保存的只是当时的状态,体积也小。(从容器快照文件导入时可以重新指定标签等元数据信息。)

ARG和ENV的区别

相同点:都是设置环境变量

不同点:

ARG 所设置的构建环境的环境变量,在将来容器运行时是不会存在这些环境变量的。

12.15日学习笔记

golang模板语法

https://gohugo.io/templates/lookup-order/

1、下载镜像的网址:https://hub.docker.com/explore/

2、下载镜像的格式

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。

Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub。

仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。

3、docker run -it --rm

--rm:表示容器退出之后将其删除,可以避免浪费空间

4、常用命令

docker image ls

列出镜像(一个镜像id对应多个tag标签)

docker exec -it [container id] commandName(name)

进入到一个正在运行的容器中

5、利用Dockerfile制作镜像文件

镜像构建时,一定要确保每一层只添加真正需要添加的东西,任何无关的东西都应该清理掉。

--auto-remove

Dockerfile 支持 Shell 类的行尾添加 \ 的命令换行方式

docker build [OPTIONS] PATH | URL | -

制作镜像

Dockerfile内容

https://docs.docker.com/engine/reference/builder/(官方文档)

推荐阅读更多精彩内容