[Docker系列]

私有Docker仓库镜像下载

在拉取仓库镜像的机器上配置:

[root@rabbit128 ~]# cat /etc/docker/daemon.json  
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["ip:5000"]
}
[root@rabbit128 ~]# 

修改上面的配置后需要重启一下Docker;
先推送一个镜像到私有仓库:

1、docker tag dcf9ec9265e0 127.0.0.1:5000/cto/redis
2、docker push 127.0.0.1:5000/cto/redis:latest

然后才能从仓库拉取

推送:docker push 114.116.213.93:5000/cat/tomcat:latest
推送:docker push 127.0.0.1:5000/cat/tomcat:latest
拉取:docker pull 127.0.0.1:5000/cat/redis:latest
拉取:docker pull 114.116.213.93:5000/cat/redis:latest

Maven源码构建Docker镜像部署微服务

部署一个SpringBoot的微服务程序,是采用如下步骤进行的:
1、将开发的springboot程序打成jar包或者war包;(idea里面操作的)
2、将打好的jar包或war包上传到Linux某个目录下,比如:/root/docker
3、定义Dockerfile文件,用于创建项目镜像;
4、启动创建好的项目镜像把程序运行起来;
更多的情况,我们是直接在运维环境里,上传源码,直接maven打包jar或者war,然后再进一步构建成镜像,不过这个操作过程本质上与手动打包是类似的;
1、在Linux下配置maven运行环境;
2、将项目源代码上传到Linux某个目录下;(或从git上拉取源代码)
3、通过maven命令打包:mvn clean package -Dmaven.test.skip=true
4、编辑Dockerfile文件,生成项目镜像;
5、构建项目镜像;
6、运行项目镜像,启动项目程序;

Dockerfile文件:
FROM docker.io/tomcat
MAINTAINER cto
ADD target/35-springboot-web-1.0.0.war /usr/local/tomcat/webapps
EXPOSE 8080
CMD /usr/local/tomcat/bin/catalina.sh run
构建镜像:docker build -t 35-springboot-web-jar .
运行容器:docker run -d -p 8080:8080 ac84bde53958
由于该SpringBoot服务依赖了mysql,启动mysql镜像:
docker run -d -p 3306:3306 -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest

IntelliJ IDEA下的Docker

1、安装idea下的docker插件
2、配置一下 /etc/docker/daemon.json ;

[root@server 35-springboot-web]# cat /etc/docker/daemon.json  
{
"hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"],
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["ip:5000"]
}

3、idea下配置 tcp
在这里插入图片描述
4、在项目下写一个Dockerfile文件;

FROM jdk1.8.0_11
MAINTAINER cat
ADD target/35-springboot-web-1.0.0.jar /opt
RUN chmod +x /opt/35-springboot-web-1.0.0.jar
CMD java -jar /opt/35-springboot-web-1.0.0.jar

5、运行或者build该Dockerfile文件;
在这里插入图片描述
也可以上传镜像到远程私有仓库(如下图):
在这里插入图片描述
阿里云仓库:http://dev.aliyun.com

Docker Compose容器编排

基于微服务架构的应用系统一般都包含若干个微服务,每个微服务一般都会集群部署多个实例,如果每个微服务都要手动启动与停止,那么效率非常低、工作量也非常大,那么使用 Docker Compose可以轻松、高效地管理多个容器;
Docker Compose 是一个用于定义和运行多容器的Docker应用的工具,使用Docker Compose,你可以在一个配置文件(yaml格式)中配置应用的所有服务,然后使用一个命令即可创建并启动配置文件中所配置的所有服务;

Docker Compose安装

curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
检查是否安装成功:
docker-compose --version
查看帮助命令
docker-compose --help

docker-compose命令

docker-compose的命令与docker命令极为相似,用法上没有区别,下面列出它特有的几种命令:
up 创建并启动容器:docker-compose up -d --scale 服务名=数字
-d表示后台运行,scale是表示对应的服务同时启动几个容器;
down 停止并删除容器: docker-compose down
会停掉容器,并删除掉容器,如果不希望删除容器,需要使用stop

docker-compose一键部署微服务

1、编写docker-compose.yml文件;
2、启动服务,执行:docker-compose up -d
在这里插入图片描述
3、关闭服务,执行:docker-compose down
在这里插入图片描述
启动两个springboot服务:
执行:docker-compose up -d --scale springboot=2
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值