容器(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内容

image.png
image.png


3. 构建镜像


docker build -t gdp .


-t: 镜像的名字及标签,通常 name:tag 或者 name 格式;
可以在一次构建中为一个镜像设置多个标签。

当你触发docker build 命令时,当前目录就被称为构建上下文(build context)。
默认情况下 Dockerfile文件就在这个目录下, 但是可以通过 -f 参数来指定Dockerfile的位置。
不管Dockerfile在哪里,当前目录中的所有文件和目录都会作为构建上下文发送到 docker daemon 进程。

image.png

4. docker image ls 查看构建生成的镜像***

image.png


5. 运行容器 
    Docker 允许你在容器内运行应用程序, 使用 docker run命令来在容器内运行一个应用程序。
    
    docker run 命令 

 docker run -p 8080:8080 gdp

-p:指定端口映射,将容器端口映射到服务器上; -p 对外暴露的端口:容器端口

image.png
image.png
image.png

为了理解 docker run的各个参数意思,再举一个例子:

image.png

总结

可以看出,一个定义良好的 Dockfile 文件在整个流程中起到承上启下的作用。

image.png


阿阿阿黄
34 声望4 粉丝