docker学习(四、修改容器创建新的镜像推送到云上)

目录

一、进入容器修改内容 

二、打包容器为新的镜像

三、将镜像推送到云上(我用的Coding腾讯云)

1.进入制品仓库,创建一个docker制品

2.点击操作指引,找到所有需要的命令,本次操作即可

3.docker推送镜像成功后,可在制品仓库中查看 

四、本地服务放到docker中推送到云上的示例


镜像是只读的,容器是可编辑的。Docker镜像是分层的,支持通过扩展镜像,创建新的镜像。

学到这里感觉docker跟git很像~~

通过docker commit将修改的容器做成新的镜像

# 将容器做成新的镜像

docker commit -m="提交备注"  -a="作者" 容器ID 镜像名称:tag名称

一、进入容器修改内容 

这里我们例举在容器内安装vim命令 

docker exec -it 容器名或容器id /bin/bash

apt-get update

apt-get -v install vim

安装成功之后进行测试vim命令是否成功,成功后退出容器即可(exit或者ctrl+q+p)

which vim 

vim test.txt

二、打包容器为新的镜像

docker commit 命令可以将一个运行中的容器快照为一个新的镜像。它的基本语法如下:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

其中,CONTAINER 是要创建镜像的容器 ID 或名称,REPOSITORY 是新镜像的名称(默认为当前用户),TAG 是新镜像的标签(默认为 latest)。

docker commit 命令的常用选项包括:

  • -a, --author: 新镜像的作者信息;
  • -c, --change: 在容器上执行更改命令;
  • -m, --message: 新镜像的注释信息;
  • -p, --pause: 在 commit 之前暂停容器。

docker commit -m="add vim"  -a="test"  68083f814bd3 new-test:test

查看新的镜像,比对旧的镜像大小会有明显变化,也可以进入启动新的镜像测试vim命令是否可用 

三、将镜像推送到云上(我用的Coding腾讯云)

上面的命令可以直接再coding中找到,如下图所示:

1.进入制品仓库,创建一个docker制品

2.点击操作指引,找到所有需要的命令,本次操作即可

3.docker推送镜像成功后,可在制品仓库中查看 

四、本地服务放到docker中推送到云上的示例

将指定的文件打包成 .tar 文件,并使用 Docker 构建镜像并推送到腾讯云仓库中。具体步骤如下:

  1. 使用以下命令将需要的文件打包到 blast.tar 中:

    tar -cvpf blast.tar /work/blastP /work/blastP-db /work/blastP-file
  2. 创建一个名为 Dockerfile 的文件,并使用编辑器(如 vi)打开该文件,添加以下内容:

    FROM ubuntu:18.04
    
    # 设置工作目录
    WORKDIR /app
    
    # 复制项目文件到容器中
    COPY blast.tar /app/blast.tar
    
    # 定义容器启动时的默认命令
    CMD ["bash"]
    
  3. 登录到腾讯云仓库中,使用以下命令:

    docker login -u test_ubuntu -p xxxxxxxxxxx test-docker.pkg.coding.net
  4. 在包含 Dockerfile 文件的目录下,执行以下命令构建 Docker 镜像:

    docker build -t blast .
  5. 修改镜像的名称,使用以下命令:

    docker tag blast test-docker.pkg.coding.net/test/test_ubuntu/blast
  6. 将镜像推送到腾讯云仓库中,使用以下命令:

    docker push test-docker.pkg.coding.net/test/test_ubuntu/blast:latest

Docker hub、阿里云也都适用~~~~ 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
腾讯云docker创建镜像的步骤如下: 1. 首先,使用命令docker tag \[id\] ccr.ccs.tencentyun.com/\[namespace\]/\[imagename\]:\[tag\]来给镜像打上标签。其中,\[id\]是通过docker images ls命令查看到的镜像ID,\[namespace\]是你的命名空间,\[imagename\]是你的镜像名称,\[tag\]是你的镜像标签。例如,命令可以是docker tag 9096eb0135ce ccr.ccs.tencentyun.com/env_back_end/env_backend_model:0.1。\[1\] 2. 接下来,使用命令docker push ccr.ccs.tencentyun.com/\[namespace\]/\[imagename\]:\[tag\]将镜像推送到腾讯云容器镜像服务。同样,\[namespace\]是你的命名空间,\[imagename\]是你的镜像名称,\[tag\]是你的镜像标签。例如,命令可以是docker push ccr.ccs.tencentyun.com/env_back_end/env_backend_model:0.1。\[1\] 3. 最后,可以使用命令docker run --name testenv -d -p 8765:8765 env_backend_model:0.1来测试容器。这个命令会将镜像的端口8765与物理机的端口绑定,并给容器起个名字叫testenv,然后运行容器。注意,最后的.别忘记敲。\[2\] 另外,如果你想加速拉取镜像的速度,可以创建修改/etc/docker/daemon.json文件,并写入以下内容: { "registry-mirrors": \[ "https://ung2thfc.mirror.aliyuncs.com" \] } 这样,Docker将会使用阿里云的镜像加速服务。\[3\] #### 引用[.reference_title] - *1* *2* [docker制作本地镜像,在腾讯云上使用k8s集群部署](https://blog.csdn.net/deedkross/article/details/124907573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [腾讯云加速 配置docker加速镜像 centos详细版](https://blog.csdn.net/quandaidai/article/details/131338160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年小趴菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值