容器(Container) 将程序及其所需的任何内容捆绑在一起,包括依赖项、工具和配置文件等等。这样使得程序不受环境的干扰,真正意义上做到开发环境和生成环境完全一致。
而 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。与传统虚拟机相比,Docker 也有许多优点,如:更高效的系统资源利用和更快速的启动时间。
Docker安装
1. macOS 我们可以使用 Homebrew 来安装 Docker
brew cask install docker
从应用中找到 Docker 图标并点击运行,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标
上述步骤 Docker 安装成功
2. 通过命令可以检查安装后的 Docker 版本 ***
docker version 查看版本信息 (_Client_和_Server_版本信息)
docker info 查看配置信息
开始 使用docker,实际应用
1. 编写Go业务项目***
2. 项目根目录下创建Dockerfile文件,编写 dockerfile内容
3. 构建镜像
docker build -t gdp .
-t: 镜像的名字及标签,通常 name:tag 或者 name 格式;
可以在一次构建中为一个镜像设置多个标签。
当你触发docker build 命令时,当前目录就被称为构建上下文(build context)。
默认情况下 Dockerfile文件就在这个目录下, 但是可以通过 -f 参数来指定Dockerfile的位置。
不管Dockerfile在哪里,当前目录中的所有文件和目录都会作为构建上下文发送到 docker daemon 进程。
4. docker image ls 查看构建生成的镜像***
5. 运行容器
Docker 允许你在容器内运行应用程序, 使用 docker run命令来在容器内运行一个应用程序。
docker run 命令
docker run -p 8080:8080 gdp
-p:指定端口映射,将容器端口映射到服务器上; -p 对外暴露的端口:容器端口
为了理解 docker run的各个参数意思,再举一个例子:
总结
可以看出,一个定义良好的 Dockfile 文件在整个流程中起到承上启下的作用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。