安装docker
Windows安装docker: docs.docker.com/docker-for-…
mac安装docker:docs.docker.com/docker-for-…
linux安装docker:yum install docker
在Linux安装完成后要记得打开docker:
systemctl start docker //开启docker
systemctl enable docker //设置开机自启动
编写dockerfile
这里先写一个go web的demo
import (
"fmt"
"net/http"
)
func main() {
fmt.Println("service start")
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
fmt.Fprint(writer,"Hello Docker")
})
http.ListenAndServe(":8888",nil)
}
编写此demo的dockerfile,记住文件的名字要起为Dockerfile。
FROM golang:latest
RUN mkdir /app //创建一个文件夹
WORKDIR /app //移动到指定的目录
ADD . /app //将当前的目录的文件都拷贝到/app目录
RUN go build -o main ./main.go //构建go二进制文件
EXPOSE 8888 //输出的端口号
CMD /app/main //执行,有点像shell
在命令行执行下面文件生成docker image:
docker docker build . -t my_docker_test
. 表示当前目录, -t 后面加自己想取名字
运行docker image ls来查看你当前生成或者是已经拉取的image
下面是最后一步,启动docker:
docker run -p 8888:8888 my_docker_test
然后我们就可以在在浏览器上输入: localhost:8888/
下面来总结几个docker常用的命令
docker container ls //当前运行的container
docker container ls -a //当前创建的container
docker image ls //当前的image
docker run xxx // 此处的xxx为image
container是什么?
- “一个运行中的docker image”
- 实质是复制image并在image最上层加上一层
read-write的层 (称之为container layer,容器层) - 基于同一个image可以创建多个container
image是什么?
- Docker image是一个
read-only文件 - 这个文件包含文件系统,源码,库文件,依赖,工具等一些运行application所需要的文件
- 可以理解成一个模板
- docker image具有分层的概念
这里建议大家可以去找一些资料去了解image和container的区别。