docker让测试变得敏捷

docker简介

docker则类似于船舶,可以装卸集装箱;

容器类似于集装箱,在码头上把各式各样的物品装进集装箱中,方便了物品的装卸;

至于镜像,可以把它先想象为一个运输单,里面列出本次运输货物的货物名称和数量。
在这里插入图片描述
docker:
在没有docker之前,我们需要手动创建容器,这个过程也是容易出错的,而docker可以帮助我们把容器启动自动化,进一步简化了环境部署和配置的过程。当然这种自动化依赖于镜像,docker还提供了镜像的注册服务,方便了镜像的共享和分发。
容器:
一台机器上运行的多个容器之间是隔离的,容器技术本身提供隔离。容器不是虚拟化,但是它具备虚拟化的功能。虚拟化是在硬件隔离,容器是共享系统内核,在软件上隔离。容器的启动比虚拟机要快得多

在这里插入图片描述

安装

基于centos安装docker:
1.安装所需的软件包
yum install -y yum-utils
device-mapper-persistent-data
lvm2
2.使用以下命令来设置稳定的仓库
yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3.安装
yum install docker-ce docker-ce-cli containerd.io
4.docker Hub镜像加速器
vim /etc/docker/daemon.json

{"registry-mirrors":
 ["https://r3u6ty4i.mirror.aliyuncs.com","https://mirror.baidubce.com"],
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

5.启动
systemctl start docker
systemctl enable docker 开机启动

容器的使用

1.启动docker:
service docker reload
service docker start

2.容器下载:docker pull centos

3.容器进程查找:docker ps -a

4.启动/杀死进程:docker start/stop+id

5.进入容器:docker exec -it id /bin/bash

6.导出容器:docker export id > name.tar
在这里插入图片描述

7.导入容器快照:cat name.tar | docker import - images_name:tag
在这里插入图片描述
8.删除容器:docker rm -f id

镜像的使用

1.镜像查找:docker images

2.删除镜像:docker rmi tomcat2:v1

3.镜像的获取:docker pull ubuntu:13.10

4.文件拷贝:
docker—容器:docker cp 文件路径 容器id:路径
将war包放进tomcat目录下:
docker cp EHL_SM.war 601c90f8aa4c:/usr/local/tomcat/webapps/

5.更新镜像:
1).例如:进入Tomcat新建一个文档
在这里插入图片描述
2).使用 apt-get update 命令进行更新;在完成操作之后,输入 exit 命令来退出(centos可省略此步骤)
3).提交更新 docker commit -m=“update” -a=“zhm” 1ed98f8c362d tomcat3:3.0
4).查看:docker images

端口与网络通信

1.网络端口映射:docker run -d -p 5000:5000(-p指定端口)

2.桥接网络实现容器之间的通信:

1)创建一个test网络:docker network create -d bridge test

2)容器连接:
docker run -it --name tomcat --network test tomcat /bin/bash
docker run -it --name tomcat1 --network test tomcat1 /bin/bash

3)Ping tomcat:ping tomcat

3.启动项目
启动: docker run --net host -it uganda:v2.0 /bin/bash

docker start 5eb5f2e14a6c

这样能够实现本地环境与docker容器之间进行通信;
若采取端口通信,会出现ip跳转的错误。

4.配置dns:在宿主机的 /etc/docker/daemon.json 文件中增加以下内容来设置全部容器的 DNS

{
  "dns" : [
    "114.114.114.114",
    "8.8.8.8"
  ]}

重启:/etc/init.d/docker restart
检查:docker run -it --rm ubuntu tomcat1 etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8

镜像仓库

1.镜像仓库的使用

镜像的提交
docker tag pnginx:latest 10.2.215.53:5000/pnginx
docker push 10.2.215.53:5000/pnginx
镜像的获取
docker pull 10.2.215.53:5000/pnginx

持续集成与自动化部署

在这里插入图片描述
基础环境:jenkins docker 仓库

自动化的部署的操作流程:

1.创建 docker 私有仓库(也可以使用公有仓库)
2.dockerfile 创建系统镜像
3.删除已运行容器
4.运行新容器
5.将新镜像 push 到私有或公有仓库
docker build -t xxx /xxx/xxx/ #根据dockerfile生成镜像

docker ps

docker stop xxx

docker rm xxx

docker run -d -p port:port --name xxx xxx #运行镜像生成容器

docker push ip:port/镜像名称 #填自己私有仓库的ip和端口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值