部署

目前有两种常见方式可以把你的镜像部署到服务器上

  1. 第一种,使用 Docker Hub 从你的 Github 获取代码并依据 Dockerfile 在云端编译镜像,很多云服务商也会有这个服务。
  2. 第二种,将镜像保存到本地,手动上传到服务器上并载入。

Docker Hub 进行云端构建

第一种比较简单,登陆 https://hub.docker.com/ 使用 Create -> Create Automated Build 选择你的代码仓库即可,每次有代码变更,Docker Hub 都会重新帮你构建新的镜像。

在服务器上安装 Docker 后,即可使用 Docker Pull Command docker pull xxxx/xxxxx 获取镜像。具体的 Pull 命令你可以在 Docker Hub 主页里你的仓库中看到。

Docker Hub 受限于免费账户只能创建 1 个私有仓库,国内 pull 起来也慢,建议使用云服务商的 Build 服务。

本地上传镜像

本地镜像则是交付独立的 image 文件

第一课 中,我们使用 docker build . --tag sudongpo_image 创建了镜像 sudongpo_image

如果你并不确定,可以使用 docker images 命令你可以看到自己本地所有的镜像。

save 命令导出镜像

Docker 提供了一个 save 命令可以将 image 导出为一个压缩包。

比如 sudongpo_image 可以使用 docker save sudongpo_image > sudongpo_image.tar 命令保存为压缩包。

sudongpo_image.tar 上传到服务器后,你可以使用 docker load < sudongpo_image.tar 命令把镜像载入。

运行

在服务器上我们总是希望能够持久运行,即便是在服务器重启之后。docker run 像下面这个命令,附带上几个有用的参数,就可以轻松的做到我们想要的效果

docker run -d --restart unless-stopped --name sudongpo -p 8002:2368 sudongpo_image

  • -d 后台运行,如果你想调试错误,可以去掉这个参数
  • --restart unless-stopped 除非用户手动停止运行,否则始终保持容器的运行