docker介绍
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
安装过程主要转载自官网
1. Build an OS
- Install a Linux system
安装Linux很多方式,你可以装双系统,也可以在vmware Pro15 上安装好Linux虚拟机。
以下给出两种方式的链接
- 安装双系统(Ubuntu ,mint...)安装过程简单
- 在vmware Pro15上安装Linux虚拟机
2.安装docker(ubuntu)
安装Docker CE,使用储存库安装
- 设置存储库
(SET UP THE REPOSITORY)
1) 更新安装包
(Update the apt package )
$ sudo apt-get update
2) 安装包以允许apt通过HTTPS使用存储库
(Install packages to allow apt to use a repository over HTTPS)
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
3) 添加Docker的官方GPG密钥
(Add Docker’s official GPG key)
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
4) 使用以下命令设置稳定的存储库
(Use the following command to set up the stable repository)
注意版本,转载来自官网的提醒(版本选择)
有道翻译如下
注意:下面的lsb_release -cs子命令返回Ubuntu发行版的名称,比如xenial。有时候,在Linux Mint这样的发行版中,您可能需要将$(lsb_release -cs)更改为您的父Ubuntu发行版。例如,如果您正在使用Linux Mint Tessa,您可以使用bionic。Docker对于未经测试和不受支持的Ubuntu发行版不提供任何保证。
原文
Note: The lsb_release -cs sub-command below returns the name of your Ubuntu distribution, such as xenial. Sometimes, in a distribution like Linux Mint, you might need to change $(lsb_release -cs) to your parent Ubuntu distribution. For example, if you are using Linux Mint Tessa, you could use bionic. Docker does not offer any guarantees on untested and unsupported Ubuntu distributions.
* x86_64 / amd64
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
* armhf
$ sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
* arm64
$ sudo add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
* ppc64le (IBM Power)
$ sudo add-apt-repository \
"deb [arch=ppc64el] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
* s390x (IBM Z)
$ sudo add-apt-repository \
"deb [arch=s390x] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
- 安装DOCKER CE
(INSTALL DOCKER CE)
- 更新apt包索引
(Update the apt package index)
$ sudo apt-get update
- 安装Docker CE和containerd的最新版本,或者进入下一步安装特定版本
(Install the latest version of Docker CE and containerd, or go to the next step to install a specific version)
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
- 要安装特定版本的Docker CE,请在repo中列出可用版本,然后选择并安装
(To install a specific version of Docker CE, list the available versions in the repo, then select and install)
a. 列出你库中可用的版本
(List the versions available in your repo)
$ apt-cache madison docker-ce
docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
...
b.要安装特定版本的Docker CE,请在repo中列出可用的版本,然后选择并安装使用第二列中的版本字符串安装特定版本,例如 5:18.09.13-0ubuntu-xenial
(Install a specific version using the version string from the second column, for example, 5:18.09.13-0ubuntu-xenial.)
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
- 通过运行 hello-world 镜像来判断 Docker CE 是否安装成功
Verify that Docker CE is installed correctly by running the hello-world image
$ sudo docker run hello-world
3. 创建Docker镜像并部署
使用 Dokcerfile 自定义镜像基础
- 创建 docker hub 账号并登陆
$ sudo docker login
- 创建myDocker文件夹,并进入创建Dockerfile文件
$ mkdir myDocker
$ cd my Docker && touch Dockerfile
- 在Dockerfile文件中写入如下内容
FROM golang
MAINTAINER zedididi "zediv1"
WORKDIR $GOPATH/src/godocker
ADD . $GOPATH/src/godocker
RUN go build main.go
EXPOSE 8080
ENTRYPOINT ["./main"]
- 在myDocker文件夹中,新创main.go文件并编写内容如下
package main
import(
"net/http"
"fmt"
)
func main() {
http.HandleFunc("/zc",hello)
http.ListenAndServe(":8080",nil)
}
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w,"Hello Docker Form Golang!")
}
- 构建镜像
docker build -t zcdocker .
- 查看镜像
docker images
- 运行镜像,并端口映射
docker run -p 8080:8080 -d zcdocker
- 访问网址
http://localhost:8080/zc
参考资料
[1] Get Docker CE for Ubuntu.
https://docs.docker.com/install/linux/docker-ce/ubuntu/
[2] docker国内镜像拉取和镜像加速registry-mirrors配置修改.
https://blog.csdn.net/u014231523/article/details/61197945
[3] Docker新手入门之三:Docker容器的基本使用.
https://baijiahao.baidu.com/s?id=1592982054546012911&wfr=spider&for=pc
[4] Docker部署Golang
https://www.cnblogs.com/dqh123/p/9481400.html
有疑问加站长微信联系(非本文作者)