docker学习笔记-----docker镜像简单操作

1 简单命令: 列出: images ,拉取 :pull  查找:search (在 docker hub上找)  ,删除: rmi 

2  构建:A :commit   B:用build和dockerfile (推荐)

3 本地镜像存在:/var/lib/docker/container  从docke公司的Registry(docker hub) 上pull 下来的镜像是放在本地仓库的,类似git

4 dockerfile: dokcerfile 所在的目录为构建镜像的上下文,,构建镜像时,docker会把上下文传给docker守护进程。这样docker就可以访问镜像中存储的任何代码和文件

dockerfile命令:

CMD:容器启动时候的命令

RUN:要运行的命令,每一个RUN都会创建一个新的镜像层

MIANTAINER :作者

EXPOSE :公开的端口数

ENTRYPOINT: docker run 指定的参数都会传递给ENTRYPOINT 指定的命令,他提供的命令则不容易再启动的时候被覆盖 ,也可以用--entrypoint 标志覆盖ENTRYPOINt指令

WORKDIR:创建镜像时,设置的工作目录

ENV 创建过程中设置环境变量 

太多了。。。。

 用dokcerfile构建镜像: docker build -条“resposity_name/image_name”  d  

root@devstack:~/docker/mydockerbuild# docker build -t="ljw_rep/ljw" .
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon 
Step 0 : FROM docker/whalesay:latest
 ---> fb434121fc77
Step 1 : MAINTAINER ljw "1281476227@qq.com"
 ---> Using cache
 ---> 29588c6a4c6c
Step 2 : RUN apt-get -y update
 ---> Using cache
 ---> a7fdadfdf773
Step 3 : RUN echo "ljw , i love you so much !"
 ---> Using cache
 ---> 29862c271b1f
Step 4 : EXPOSE 80
 ---> Using cache
 ---> 65275e9b9581
Successfully built 65275e9b9581
每一步都会在一个独立的容器内运行,如果哪一步出现了问题,可以启动"debug"

sudo run -t -i  29862c271b1f /bin/bash,docker 会将之前镜像作为缓存,如果哪一步有变化,只会从发生变化的命令开始执行,,可以用--no-cache 来忽略缓存功能

查看构架历史:history 展示镜像的每一层

在对构建的镜像进行命名的时候,有这样的要求,需要符合如下的正则表达式: 

repository name component must match "[a-z0-9](?:-*[a-z0-9])*(?:[._][a-z0-9](?:-*[a-z0-9])*)*"  

可以用小写字母或者数字开头,中间允许下划线和连字符。

镜像删除: rmi  [image id]   ;rm  [container id  ]  ,删除镜像之前,先要把所有依赖于这个镜像的全部容器


5 push镜像

先登录:docker login 如果写成docker push image_name 那么docker 认为你要push到root仓库 ,会遭到残忍拒绝,因为root仓库是docker公司自己玩的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值