docker提交容器成一个新的镜像commit和push,以及docker常用命令

docker自己提交配置好的容器,然后生成一个新的镜像,以后启动就以配置好的镜像作为模板启动

代码如下:

docker commit -a "author" -m "commit message"  容器id namespace/name:tag

如果想把镜像推到仓库里面去: 

--本地镜像素材原型,本地的images

--登录阿里云开发者平台,进入之后搜索容器镜像服务,即可进入阿里云镜像管理

--创建仓库镜像,命名空间;仓库名称;

--将镜像推送到registry

$ sudo docker login --username=username registry.cn-hangzhou.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/ale/mytomcat9:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/ale/mytomcat9:[镜像版本号]

--公有云可以查询到

--查看详情

 

进入容器命令:

docker exec -it 容器id /bin/bash

 

启动添加容器数据卷:

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

带权限:ro(readonly只读)

docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

注意:Docker挂载主机目录Docker访问出现cannot open directory.:Permission denied

解决办法:在挂载目录后多加一个 --privileged=true参数即可

 

DockerFile添加容器数据卷

--根目录下创建mydocker文件夹并进入

mkdir mydocker
vi Dockerfile

--可在Dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷

VOLUME["/dataVolumeContainer","dataVolumeContainer2","/dataVolumeContainer3"] 
说明:
    出于可移植和分享的考虑,用-v 主机目录:容器目录这种方法不能够直接在Dockerfile中实现
    由于宿主机目录是依赖于特定宿主机的,并不能够保证在所有的宿主机上都存在这样的特定目录

案例:

FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,------success1"
CMD /bin/bash

--File构建

docker build -f /mydocker/Dockerfile -t namespace/name .(有个小点)

--build后生成镜像   -   获得一个新镜像 namespace/name

--run容器

--本地的地址:通过docker inspect 容器id可以查看

--通过

 

查看容器详情:

docker inspect 容器id


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值