美文网首页
Docker之再顾茅庐(Docker打包上传)

Docker之再顾茅庐(Docker打包上传)

作者: 单名一个冲 | 来源:发表于2019-10-30 16:36 被阅读0次

docker的最终目的为了生产部署,当然要与k8s相结合才能事半功倍,那就来点实用的docker操作和生产使用吧,come on!

1. 试试docker的commit命令
commit命令格式说明:
docker commit <容器名或ID> <镜像名>:<镜像版本>
  1. 先准备一个 centos内核的 docker镜像,并启动该容器
// 我们默认拉取一个最终版本的 centos镜像
> docker search centos

> docker pull centos

> docker run -itd --name centos centos /bin/bash

> docker attach centos
  1. 我们在 centos容器上安装一个 JDK1.8作为我们对该容器的变更操作
    2.1. 我们先熟悉两个命令:
// 从容器中复制到本地系统
docker cp <容器名或ID>:<绝对地址> <本地地址>

// 从本地系统复制到容器中
docker cp <本地地址> <容器名或ID>:<绝对地址>

2.2. 正式操作

// 创建一个 java文件夹,上传 Linux jdk安装包并解压
> mkdir /java

// 把文件 jdk-8u141-linux-x64.tar.gz上传到 centos的 /java目录下(这一步是本地机器操作)
> docker cp jdk-8u141-linux-x64.tar.gz centos:/java

// 解压该文件
> tar -zvxf jdk-8u141-linux-x64.tar.gz

> 配置/etc/profile 文件环境变量(环境变量配置在此省略)

  1. commit 镜像,生成一个新镜像
> docker commit centos centos-jdk1.8:v1
2. 试试docker的 dockerfile打包,使用 build命令

刚才我们提交了一个安装了 jdk的基础镜像,我们利用这个镜像使用 dockerfile方式构建一个docker的启动流程。
这里只简单举例,如果您还不知道什么是dockerfile的写法,请参考博友的链接:
https://www.jianshu.com/p/10ed530766af

build命令格式:

> docker build <镜像名>:<镜像版本> <相对路径或绝对路径>
  1. 首先,我们需要创建一个文件夹,然后文件夹下创建一个名为 "Dockerfile"的文件(dockerfile的构建就是写在这个里面)
// Dockerfile文件内容例如:
// 意思是:从一个ID为xx的镜像中加载,打开跳转到 /app目录下,并执行top命令
FROM <镜像ID>
WORKDIR /app
ENTRYPOINT ["top"]
  1. 然后,在这个文件夹中执行 docker命令
// 注意不要丢了最后的小点,
docker build testdoc:v1.0 .
3. 将 docker镜像上传到 harbor仓库

3.1. 先登录 harbor,登陆可能会报类似如下的几种错误

Error response from daemon: Get http://127.0.01/v2/: dial tcp 127.0.0.1:443: connect: connection refused

Error response from daemon: Get https://127.0.0.1/v2/: x509: certificate signed by unknown authority

登陆命令:
> docker login <ip地址>

解决方法是:在docker配置中添加

// Linux docker方式:
// 把docker.service文件中配置项 ExecStart里添加 --insecure-registry

[Service]
ExecStart=其他参数... \
          --insecure-registry 你的IP地址

----------------------------------------------------------------------------
// Windows docker方式:
{
  "registry-mirrors": [],
  "insecure-registries": [
    "你的IP地址"
  ],
  "debug": true,
  "experimental": false
}

3.2. 推送镜像。首先,先创建一个指定到仓库项目名的tag,然后再推送

tag格式如下:
> docker tag <镜像名或ID> <仓库IP地址/仓库项目名/镜像名>:<镜像版本tag> 
e.g. 例如:
docker tag centos 127.0.0.1/test/centos:v1.0


> docker push <镜像名或ID>[:<镜像版本>]
e.g. 推送:
docker push 127.0.0.1/test/centos:v1.0

3.3. 退出登陆

退出登陆命令:
> docker logout <ip地址>
4.现在你就可以去 harbor 上查看验证了!

相关文章

  • Docker之再顾茅庐(Docker打包上传)

    docker的最终目的为了生产部署,当然要与k8s相结合才能事半功倍,那就来点实用的docker操作和生产使用吧,...

  • Docker入门

    Docker概述 Docker为什么会出现? 将项目打包并带上部署环境(镜像),上传到Docker 仓库,下载镜像...

  • Docker之初顾茅庐(Docker基础命令)

    docker服务操作 开启、重启、关闭、查看Docker后台服务状态 docker管理操作 查看Docker容器的...

  • Docker-容器

    应用程序打包生产镜像后,上传到Docker仓库,再从Docker仓库将镜像下载到本地,以镜像为模板可以创建容器,容...

  • Docker安装(mongo,postgresql)

    Docker安装 上传文件docker-19.03.9.tgz到服务器,再解压 复制 启动服务 修改 /etc...

  • docker镜像打包-上传

    1. 打包当前容器为镜像 docker commit 【容器ID】【推送服务器地址/镜像名:版本号】 例如我的容器...

  • 创建docker仓库

    创建私有docker仓库 安装docker repo 修改docker repo 配置 启动docker 上传do...

  • Gitlab

    安装docker 001 上传docker的repo 002 安装docker并启动docker服务 003 配置...

  • 打包

    1、docker 打包镜像到虚拟机 虚拟机安装docker 为项目添加docker打包插件项目properties...

  • docker

    核心概念 docker主机 docker客户端 docker 仓库 保存打包好的软件镜像 docker 镜像 就是...

网友评论

      本文标题:Docker之再顾茅庐(Docker打包上传)

      本文链接:https://www.haomeiwen.com/subject/uwpovctx.html