[Internal] Docker 学习讲座(入门级)

Docker是什么?

@IT 超入門Docker:第1集 什么是Docker 参考

尝试使用Docker进行开发

在本地安装Docker

Docker for Mac -> ネットワーク周りが微妙に特殊

Docker for Windows -> Windows10からなのが残念

Docker Toolbox -> Windows7は64bitOSである必要あり

VirtualBox+Vagrant -> たぶんいちばん汎用的

除此之外还有其他,但这一带可能是主流。

暂时用Docker实现Hello world!

$ docker container run hello-world

发生了什么事情?

    1. 从Docker Hub下载hello-world镜像(docker image pull)

 

    在前台运行hello-world镜像

让我们来看一看hello-world的图片在做什么

看一下Dockerfile就可以明白。

考虑到这一点,开发的过程

    1. 确定基础镜像

 

    1. 创建Dockerfile

 

    1. 使用Dockerfile构建镜像(docker image build)

 

    部署(执行)构建的镜像

在基本图像中进行操作并提交的方法也是可行的,但我认为这是一种反模式。

让我们尝试用Golang编写Hello World吧。

确定基本形像

我决定使用Golang的官方镜像(golang:1.7.5)。
当然,也可以选择一个全新的镜像并自行安装Golang。

撰写Dockerfile

FROM golang:1.7.5
COPY hello-world.go /src/
RUN go build /src/hello-world.go && rm /src/hello-world.go
ENTRYPOINT ./hello-world
package main
import "fmt"
func main() {
  fmt.Printf("Hello world\n")
}

根据 Dockerfile 构建镜像。

$ docker image build . -t dockertest:1.0

部署(运行)创建的映像。

$ docker container run dockertest:1.0

在开始编写Dockerfile之前,我想尝试一些不同的东西。

我们可以在基础映像上执行bash并进行操作。

$ docker container run -it --rm golang:1.7.5 /bin/bash

暫時先到這裡吧,如果有指正,我會修正的。下次(是否有?)談一下容器之間的通訊吧。

广告
将在 10 秒后关闭
bannerAds