学习docker第二天

docker容器概念:docker的容器创建需要先拉取镜像,比如创建一个Ubuntu容器:

有了Ubuntu镜像后,开始通过镜像创建Ubuntu容器

-it是通过前台交互式进行创建,--name给容器指定名字,/bin/bash创建容器后,返回容器内命令行操作

 现在就在容器内操作。

退出容器分为两种,一个是exit直接退出,并关闭容器,另一个是Ctrl+p+q来退出容器,后台运行容器。

后台式启动容器

 查看所有容器 docker ps -a

已后台方式启动 docker run -d Ubuntu

容器启动后需要操作容器内部

 进入容器内部:docker exec -it 容器id /bin/bash

退出:exit ,可以看到容器依然存活

 另外一种命令进入容器

可以看到以attach方式进入容器操作后退出,容器将停止运行,推荐使用docker exec -it 容器id 

容器的内容复制到宿主机和容器复制宿主机

首先我们启动刚才停掉的容器(Ubuntu)

 然后我们将容器的a.txt文件复制到宿主机

 这样就将容器Ubuntu里面的a.txt复制了出来

将容器打包成镜像并发布到阿里云

在docker hub 上的Ubuntu没有vim命令,我们安装相关cmd后,通过

docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]

将添加了vim命令的Ubuntu打包成新镜像,再通过登录阿里云,进入选择控制台,进入容器镜像服务,选择个人实例-命名空间-仓库名称,进入管理界面获得脚本,然后通过阿里云指示的脚本命令将打包的新Ubuntu镜像发布到阿里云registry。

将添加ifconfig命令的新容器打包成新镜像,并发布到私有库

通过 docker pull registry 从docker hub 拉取私有库

运行docker hub 拉取的原始Ubuntu,原始Ubuntu的系统没有ifconfig命令,安装ifconfig命令后,通过docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]将容器打包成新镜像。

验证私服是否有镜像 

curl -XGET http://192.168.111.162:5000/v2/_catalog

使用命令将jzqubuntu:1.2修改为符合私服的

docker tag  jzqubuntu:1.2  192.168.111.162:5000/jzqubuntu:1.2

因为docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker

vim /etc/docker/daemon.json


{   
  //阿里云
  "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.111.162:5000"]
}

然后推送到私服库

docker push 192.168.111.162:5000/jzqubuntu:1.2

验证是否推送成功

curl -XGET http://192.168.111.162:5000/v2/_catalog

显示{"repositories":["jzqubuntu"]}则表示推送到私服库成功

推送成功后,我们拉取到本地再测试一下

docker pull 192.168.111.162:5000/jzqubuntu:1.2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值