Docker相关内容整理(二)

docker的安装及常用命令请参考博客Docker相关内容整理(一)_活水774的博客-CSDN博客

docker应用部署请参考博客Docker应用部署_活水774的博客-CSDN博客

Docker Compose 服务编排_活水774的博客-CSDN博客

1、将容器保存为镜像

#将docker_nginx 容器保存为一个镜像-名称为self_nginx_image
docker commit docker_nginx self_nginx_image

测试结果如下:

 2、镜像备份

#可以使用以下命令将镜像文件保存到宿主机的tar文件
docker save -o self_nginx_image.tar self_nginx_image

 3、镜像恢复与迁移

#首先删除镜像self_nginx_image
docker stop self_nginx  #停止运行中的容器
docker rm self_nginx #删除镜像的容器
docker rmi self_nginx_image:latest #删除镜像

#执行下面命令导入镜像
docker load -i self_nginx_image.tar 

4、Dockerfile

Dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。

对于开发人员,可以为开发团队提供一个完全一致的开发环境。

对于运维人员,在部署时,可以实现应用的无缝移植。

1)常用命令

FROM image_name:tag              --指定dockerfile基于那个image构建,镜像不存在会先下载
MAINTAINER user_name             --声明镜像的构建者

ENV key value                    --设置环境变量 可以写多条
RUN command                      --执行一段命令 可以写多条

ADD source_dir/file dest_dir/file  --将宿主机文件复制到容器内,并自动解压

COPY source_dir/file dest_dir/file --将宿主机文件复制到容器内,不解压

WORKDIR parth_dir                 --设置工作目录

2)举个例子(docker_springboot连接 https://download.csdn.net/download/weixin_59230567/85083976

a.构建dockerfile文件

FROM java:8        --定义父镜像
MAINTAINER xiaohuoshi        --定义作者信息
ADD docker_springboot-0.0.1-SNAPSHOT.jar docker_springboot.jar    --将jar包添加到容器
CMD java -jar docker_springboot.jar --定义容器启动执行的命令

b.通过dockerfile构建镜像 

docker build -t='docker_springboot' .

执行结果如下图

 

 以上表示构建镜像成功,查看镜像

 启动自定义镜像:在启动之前需要把占用8080的端口的镜像或应用关掉,否则会报端口冲突

#启动创建容器并启动
docker run -id --name=app -p 8080:8080 docker_springboot

用外部机器可以看到效果

 docker_springboot.jar 下载地址https://download.csdn.net/download/weixin_59230567/85083976

如果连接失效,也可以自己写一个简单的springboot项目,打成jar包即可

@RestController
public class HelloController {

    @RequestMapping("/")
    public String hello(){
        return "hello springboot for docker ~";
    }
}

服务编排相关资料在此补充 Docker Compose 服务编排_活水774的博客-CSDN博客

5、Docker私有仓库搭建与配置

#下载私有仓库镜像
docker pull registry
#启动私有仓库容器
docker run -id --name=registry -p 5000:5000 registry

外部连接访问私有仓库地址:http://192.168.31.127:5000/v2/_catalog

#修改daemon.json文件
vim /etc/docker/daemon.json
#修改内容如下 对应自己宿主机的ip地址 
 {
        "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
        "insecure-registries":["192.168.31.127:5000"]
 }

#注意 在上述文件中添加一个key,保存退出。此步用于让 docker 信任私有仓库地址;注意将私有仓库服务器ip修改为自 己私有仓库服务器真实ip {"insecure‐registries":["私有仓库服务器ip:5000"]}


#重启diocker服务
 systemctl restart docker
#启动容器
docker start registry

#标记此镜像为私有仓库镜像
docker tag docker_springboot 192.168.31.127:5000/docker_springboot

#上传标记的镜像
docker push 192.168.31.127:5000/docker_springboot

 

6、从私有仓库拉取镜像

#拉取镜像 docker pull 私有仓库服务器ip:5000/镜像
docker pull 192.168.31.127:5000/docker_springboot


注意:拉取镜像的宿主机的/etc/docker/daemon.json文件中需要加入 {"insecure‐registries":["私有仓库服务器ip:5000"]} 让docker 信任私有仓库地址,如下
 
 {
        "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
        "insecure-registries":["192.168.31.127:5000"]
 }

后续更新dockermaven等内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值