docker容器技术

docker容器技术111

大家好,欢迎来到IT知识分享网。

什么是Docker

Docker是一个开元的应用容器引擎,基于go语言开发,Docker可以让开发者打包他们的应用已经依赖包,到一个轻量级、可移植的容器中,然后发布到任何流行的系统,

Docker优点

1、Docker可以用来快速交付应用,加快打包的时间,加快测试、发布,缩短开发及运行代码之间的周期
2、复杂环境管理,应用隔离:不同软件运行环境兼容性依赖问题
3、轻量级:对于系统内核来说,一个Docker只是一个进程,一个系统可以运行上千个容器

Docker与虚拟机区别

1、容器与容器之间只是进程的隔离,而虚拟机是完全的资源隔离
2、虚拟机的启动可能需要几分钟的时间,Docker启动时秒级或者更短
3、容器使用宿主操作系统的内核,而虚拟机使用完全独立的内核
其他概念
Docker镜像:Docker Image,每一个镜像都可能依赖一个或多个下层的镜像组成的另一个镜像,AUFS文件系统
Docker仓库:Docker Register,集中存放镜像的地方
Docker容器:Docker Contains,镜像运行后的进程

Docker安装与配置

windows操作系统:https://hub.docker.com/editions/community/docker-ce-desktop-windows
Ubuntu系统安装过程
首先安装依赖:
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
在这里插入图片描述
有失败的我们可以先不用关注
安装证书:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add –
添加源:add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
在这里插入图片描述
安装Docker:apt -y install docker-ce
在这里插入图片描述
安装完成之后,我们使用docker version查看我们安装的docker的信息
在这里插入图片描述

Docker常用命令

基本命令
Docker版本信息:docker version
Docker系统信息:docker info
镜像管理
查看所有镜像:docker images
搜索镜像:docker search busybox
拉取下载:docker pull busybox:latest
导出:docker save busybox > busybox.tar
导入:docker load < busybox.tar
删除:docker rmi busybox.tar
更改镜像名:docker tag busybox:latest busybox:test
查看镜像创建历史:docker history busybox
容器管理
运行容器:docker run -d –name=busybox busybox:latest ping 114.114.114.114
查看运行的容器:docker ps, docker ps -a
查看容器中运行的进程:docker top busybox
查看资源占用:docker stats busybox
容器:docker start/restart/stop/kill busybox
暂停容器:docker pause/unpause busybox
强制删除容器:docker rm -f busybox
执行命令:docker exec -it busybox ls
复制文件:docker cp busybox:/etc/hosts hosts
查看容器日志:docker logs -f busybox
查看容器/镜像的元信息:docker inspect busybox
查看容器内文件结构:docker diff busybox

搭建Web服务器nginx

nginx是一个异步的web服务器,主要提供web服务、反向代理、负载均衡和HTTP缓存功能
运行nginx容器
首先拉取镜像docker pull nginx:1.17.9
在这里插入图片描述
运行:docker run -d –name nginx -p 8088:80 nginx:1.17.9
在这里插入图片描述
使其在后台运行:
在这里插入图片描述
挂在目录:docker run -d –name nginx1 -p 8089:80 -v ${PWD}/html:/usr/share/nginx/html nginx:1.17.9

搭建测试用例管理平台testlink

Testlink是一个基于WEB的测试用例管理系统,主要功能是:测试项目管理、产品需求管理、测试用例管理、测试计划管理、测试用例的创建、管理和执行,并且还提供了统计的功能
部署数据库
容器网络:docker network create testlink
在这里插入图片描述

运行数据库:
docker run -d –name mariadb -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=bn_testlink -e MARIADB_PASSWORD=bn_testlink -e MARIADB_DATABASE=bitnami_testlink –net testlink -v ${PWD}/mariadb:/bitnami bitnami/mariadb:10.3.22
在这里插入图片描述
部署Testlink
首先运行Testlink:
docker run -d -p 80:80 -p 443:443 –name testlink -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_PASSWORD=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink –net testlink -v ${PWD}/testlink:/bitnami bitnami/testlink:1.9.20
默认用户名:user,默认密码:bitnami
在这里插入图片描述

搭建持续集成平台Jenkins

jenkins是开源CI&CD软件领导者,提供持续集成和持续交付服务,有超过1000个插件来支持构建、部署、自动化,满足任何项目的需要
部署jenkins
Docker hub:https://hub.docker.com/r/jenkins/jenkins/
运行:docker run -d –name=jenkins -p 8080:8080 jenkins/jenkins
在这里插入图片描述
查看默认密码:docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
在这里插入图片描述
可以使用log命令查看相关的日志
在这里插入图片描述
挂载目录:chmod 777 jenkins
运行:docker run –name jenkins -d -p 8080:8080 -p 50000:50000 -v ${[PWD}/jenkins:/var/jenkins_home jenkins/jenkins

docker-compose使用

Docker-compose简介
Docker-compose是用于定义和运行多容器的Docker应用程序工具,通过Compose,可以使用YAML文件来配置应用程序的服务
Compose的使用一般分为三步:
1、使用Dockerfile定义应用程序的环境,以便可以在任何地方复制它
2、在docker-compose.yml中定义组成应用程序的服务,以便他们可以在隔离的环境中一起运行
3、运行docker-compose up,然后,Compose启动并运行整个应用程序

Docker-compose安装
macOS\Windows系统使用的Docker Desktop默认已经安装
linux系统:https://github.com/docker/compose/releases
curl “https://github.com/docker/compose/releases/download/1.25.4/docker-compose-4(uname -m)” -o /usr/local/bin/docker-compose
更改权限:chmod +x /usr/local/bin/docker-compose
查看版本:docker-compose version
Docker-compose常用命令
查看配置:docker-compose config
后台启动:docker-compose up -d
构建镜像:docker-compose build
下载镜像:docker-compose pull
运行的:docker-compose ps
进程:docker-compose top
启动:docker-compose start
停止:docker-compose stop

docker的registry介绍

https://hub.docker.com/_/registry
Docker registry 是存储Docker image的仓库,运行push pull search时,是通过Docker daemon与docker registry通信。有时候使用Docker Hub这样的公共仓库可能不太方便,我么不能可以通过registry创建一个本地仓库
运行registry
docker run -d -p 5000:5000 -v /registry:/var/lib/registry –restart always –name registry registry:2.7.1
在这里插入图片描述

dockerfile语法与指令

Dockerfile是由一系列指令和参数构成的脚本,一个Dockerfile里面包含了构建整个镜像的完整命令,通过docker build执行Dockerfile中的一系列指令自动构建镜像
常用的指令:
FROM:基础镜像,FROM命令必须是Dockerfile的首个命令
LABEL:为镜像生成元数据标签信息
USER:指定运行容器时的用户名或UID,后续RUN也会使用指定用户
RUN:Docker命令的核心部分,它接受命令作为参数并用于创建镜像,每条run命令在当前镜像基础上执行,并且会提交一个新镜像层
WORKDIR:设置CMD指明的命令运行目录
ENV:容器启动的环境变量
ARG:构建环境的环境变量
COPY:复制文件
CMD:容器运行时执行的默认命令
ENTRYPOINT:指定容器的”入口“
HEALTHCHECK:容器健康状态检查

docker镜像构建

在日常的工作中,常常需要自己制作自己项目的镜像,一般通过以下两种方式制作镜像:Docker commit, Dockerfile
Docker commit
一般用作从一个运行状态的容器来创建一个新的镜像,定制镜像应该使用Dockerfile来完成。默认commit镜像,对外不可解释,不方便排查问题,可维护性差;
docker commit容器名,新镜像名:tag
Docker build
忽略文件:.dockerignore
指定文件:docker build -f
添加标签:docker build -t
不使用缓存:docker build –no-cache
构建时变量:docker build –build-arg(ARG指定变量)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22055.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信