docker杂谈

1.docker简介

docker服务启动:systemctl  restart docker 或者  systemctl restart docker.service

1.镜像

简介:

docker镜像和容器的关系可以类比为java中类和实例的关系,docker镜像是静态的是不可修改的,当你修改docker镜像时,其实是又生成了一个新的镜像。
docker镜像是分层的,不同的镜像会引用相同的base镜像,举个例子:
比如A镜像层的base镜像是X ,而B镜像的base镜像也有X那么他们两个其实是使用相同的base镜像X的,这其实就大大节省了空间。

配置镜像源:

配置阿里云镜像源: 加入以下配置:(注意需要登录阿里云 如果没有账号可以支付宝扫码登录)

生成镜像加速器并复制地址:

vi  /etc/docker/daemon.json  加入下边的json

{
  "registry-mirrors": ["https://7297e0oq.mirror.aliyuncs.com"]
}

保存退出重启即可。

镜像命令解释:

docker pull 镜像名:tag     ---从镜像仓库拉去镜像

docker images ---查看本地镜像

docker tag 镜像id "新镜像名称 : tag"      --当我们忘记为镜像起名和tag时  可以使用该命令 没有起名的镜像 REPOSITORY     和TAG栏均为 <none>  也被称为虚悬镜像 ,这样的镜像并不友好,因为当你以他构建容器的时候,不好排查容器所使用的镜像,(就好似没给人起名字一样 哈哈) 所以还是及时用该命令给你的镜像做好标识哦!(不过大部分在仓库的镜像都是有默认值的)

docker image prune     ---清除所有的虚悬镜像

docker image save  镜像名称  >  xxx.tar    ---将镜像导出到tar文件(也说镜像迁移) 注意:  在默认定义下,docker save 命令会将镜像内容放入输出流中,这就需要我们使用管道进行接收 ( 也就是命令中的 > 符号 ),这属于 Linux 等系统控制台中的用法

还有一种保存镜像的方式:docker save -o ./xxx.tar xxx:latest     ---也是保存镜像的一种方式  -o  用来指定输出文件,使用这个选项可以让命令更具有统一性

docker load < xxx.tar     ----将xxx.tar镜像文件导入 ,当然也可以用这种方式: docker load -i xxx.tar

docker commit 容器id  镜像名称      ---把当前的容器重新提交为一个新的镜像 (也被叫做黑箱镜像,因为别人根本看不到该镜像的改动 而Dockerfile更透明)

docker build     ---构建镜像 根据Dockerfile  比commit更高级一点个人认为

docker rmi 镜像id或者名称   ----删除镜像 多个用逗号分隔即可(删除镜像时必须保证没有容器引用该镜像)

docker rmi -f 镜像id    ---强制删除镜像 不管有没有容器引用该镜像 (但是容器不会删除 当重启时 任然可以启动)

 

未完 待续:

2.容器

容器是在镜像上构建出来的,如果你直接删除容器引用的镜像,是删除不了的。

3.Dockfile

在根目录创建Dockerfile文件

FROM java:8
VOLUME /tmp
ADD /target/study-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8090
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

 

4.compose

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值