docker--从仓库下载镜像到推送自己的项目到仓库步骤详解

简介: 怎样从仓库下载的镜像,变成容器,并在容器中制作项目,再将容器变成镜像,然后将镜像推送到仓库?        一:从官网下载镜像        官方的https://hub.docker.

       怎样从仓库下载的镜像,变成容器,并在容器中制作项目,再将容器变成镜像,然后将镜像推送到仓库?

    

 

一:从官网下载镜像

       官方的https://hub.docker.com/提供了数十万个镜像提供大家下载

       以拉取个人公有centos7.3镜像为例:

  

  拉取方式为

# docker pull 用户/仓库:标签


》docker pull kennyyaohong/public:centos7.3

  

  

 二:进行项目

1.启动容器

# -it 以交互模式启动一个容器
#--name  命名容器
#-d  后台运行容器,并返回容器ID
#docker run  -it  --name    定义容器名        -d 镜像名:标签      
》docker run -it  --name container_centos7.3 -d kennyyaohong/public:centos7.3 
》docker ps

CONTAINER ID           IMAGE                                        NAMES                      COMMAND     CREATED           STATUS           PORTS     
4bd480b4ac28    kennyyaohong/public:centos7.3    container_centos7.3          "/bin/bash"  4 seconds ago     Up 3 seconds 

2.进入容器

#exec :在运行的容器中执行命令
#-d :分离模式: 在后台运行
#-i :即使没有附加也保持STDIN 打开
#-t :分配一个伪终端
》docker exec -ti container_centos7.3 /bin/bash [root@d3dfc0a17d1a /]#

3.进行项目

进入docker进行要开展的项目

[root@4bd480b4ac28 /]# mkdir project
[root@4bd480b4ac28 /]# cd project/
[root@4bd480b4ac28 project]# ls
[root@4bd480b4ac28 project]# vi test.sh
[root@4bd480b4ac28 project]# sh test.sh 
hello

 

三:将容器变成镜像

 

#-a :提交的镜像作者;

#-c :使用Dockerfile指令来创建镜像;

 

 

#-m :提交时的说明文字;

#-p :在commit时,将容器暂停。

#     docker    commit    -m  “提交说明文字”    -a        “作者”                        要提交的容器名                 提交后的镜像名:提交后的镜像tag名         

 

》docker commit -m "my_project" -a "kennyyaohong" container_centos7.3  myproject_centos7.3:centos7.3
sha256:e12a9ec48ab76d4114e4d80293eb994bafb5d49e974143766d08ab9f74a2d193

#容器变为镜像后的
host-172-17-17-115:~ # docker images; REPOSITORY TAG IMAGE ID CREATED SIZE myproject_centos7.3 centos7.3 e12a9ec48ab7 2 seconds ago 258MB

  

四:将镜像推入仓库

 1.重新定义标签

#docker  tag  镜像id       要推入仓库的用户名/要推入的仓库名:新定义的tag 
》docker tag e12a9ec48ab7 kennyyaohong/public:myproject_centos7.3
#docker push      要推入仓库的用户名/要推入的仓库名:镜像标签
》docker push kennyyaohong/public:myproject_centos7.3
The push refers to a repository [docker.io/kennyyaohong/public]
193b0484e158: Layer already exists 
34e7b85d83e4: Layer already exists 
myproject_centos7.3: digest: sha256:5ffa998f3fc91e965d3b2e65ceefbc30a0bce49359058fba39e9386206a84bdc size: 948

 

 

  

 

目录
相关文章
|
13天前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
76 3
|
2天前
|
Docker 容器
docker:记录如何在x86架构上构造和使用arm架构的镜像
为了实现国产化适配,需将原x86平台上的Docker镜像转换为适用于ARM平台的镜像。本文介绍了如何配置Docker buildx环境,包括检查Docker版本、安装buildx插件、启用实验性功能及构建多平台镜像的具体步骤。通过这些操作,可以在x86平台上成功构建并运行ARM64镜像,实现跨平台的应用部署。
17 2
|
14天前
|
Java Docker 微服务
SpringBoot微服务打包Docker镜像
SpringBoot微服务打包Docker镜像
45 11
|
6天前
|
Go Docker Python
docker的python与go镜像的制作
docker的python与go镜像的制作
15 1
|
6天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
28 1
|
9天前
|
存储 Docker 容器
|
13天前
|
缓存 安全 Linux
docker镜像管理问题
【10月更文挑战第3天】
61 1
|
6天前
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
109 0
|
9天前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
15 0
|
13天前
|
NoSQL MongoDB Docker
求助,有没有大神可以找到arm64架构下mongodb的3.6.8版本的docker镜像?
在Docker Hub受限的情况下,寻求适用于ARM架构的docker镜像资源或拉取链接,以便在x86架构上获取;内网中的机器为ARM架构,因此优先请求适合ARM的Docker镜像或Dockerfile,非常感激您的帮助。