Docker介绍、常用命令、项目部署

什么是Docker

简单说:Docker就是一个虚拟机,专业说:它是一个开源的容器平台。它和我们常用的VMware有很多相似的地方。

名词解释

镜像/images 由本体打包出来的文件。并不是文件本身,但是具有该文件的功能。举个不太贴切的例子,就像镜子里的你,虽然不是真的你本人,但是你做的任何动作他也会做。

仓库/DockerHub 存放镜像的地方,类似GitHub。包括MySQL、Tomcat、Redis、Nginx等等。有很多第三方提供的镜像,您可以通过pull命令下载使用。您也可以通过push命令上传镜像到仓库。

容器/container 运行的虚拟机,它是由镜像运行时生成的,并且一个镜像可以运行出多个容器。

Docker File 指定镜像是如何构建的。简单说就是把你的项目通过build命令构建成镜像【然后镜像run以后就会变成容器,在容器中运行你的项目】

tar文件 可以把镜像文件打包成tar文件

他们之间的关系:

docker

Docker特点

Docker虚拟技术与传统虚拟技术的区别

Docker思想来源于集装箱,核心思想是隔离。

  • Docker采用最简易的内核,只有几M
  • 容器相互独立,能区分计算资源

Docker思想

开发人员把项目打成war包+环境打包+数据打包成镜像,上传到DockerHub仓库,运维或者测试只需要下载开发的镜像,然后运行就可以。

以下内容为笔记,未经实际操作

Docker安装

以centos7为例

设置服务器IP地址

python 复制代码
1、修改
BOOTPROTO=static
ONBOOT=yes
1表示使用静态IP
2表示重启时自动启用静态IP
2、增加
IPADDR=根据当前服务网络IP设置
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114

more ifcfg-ens33命令可以查看文件修改后的内容

  • cd /etc/sysconfig/network-scripts
  • vi ifcfg-ens33修改文件内容

重启网络服务systemctl restart network.service

关闭防火墙systemctl stop firewalld.service

关掉本地防火墙和杀毒软件

现在就可以通过xshell进行远程连接了,现在在xshell里操作

安装Docker依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

安装国内下载源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker

yum install -y docker-ce

启动

systemctl start docker

验证

docker version

Docker应用

  1. 在开始测试前,在服务器安装Docker,Docker版本与开发版本一致
  2. 根据测试请求说明在镜像地址拉取镜像
  3. 运行镜像生成容器
  4. 访问项目,开始测试

Docker常用命令

搜索镜像

复制代码
docker search 镜像名称

拉取镜像

复制代码
docker pull 镜像名称

查看本地镜像(及镜像信息)

复制代码
docker images

运行镜像生成容器

复制代码
docker run -d -p 9999:8080 镜像ID

-d: 在后台运行 -p 9999:8080: 服务器端口映射到容器的端口 执行后会返回一长串数,证明已经正常运行

查看本地正在运行的容器

复制代码
docker ps

查看所有历史运行的容器

复制代码
docker ps -a

查看容器内部日志信息

复制代码
docker logs -f 容器ID

进入容器

复制代码
docker exec -it 容器ID /bin/bash

ls -l就可以查看有哪些文件了 d开头表示文件夹 -开头表示文件

退出容器

复制代码
exit

启动/停止/重启容器

复制代码
docker start/stop/restart 容器ID

Docker部署项目

python 复制代码
# 先查看镜像ID
docker images
# 运行
docker run -d -p 9999:8080 镜像ID
# 查看正在运行的容器
docker ps
# 进入容器
docker exec -it 容器ID /bin/bash
# 查看文件【1】
ls -l
# 进入放项目的目录
cd 文件夹名
# 需要上传war文件,先退出容器
# 下载一个上传工具lrzsz
exit
# 下载lrzsz(下载过程中都选y)
yum install lrzsz
# 下载好以后切换到根目录
cd /opt
# 查看根目录文件
ls
# 上传war包
rz
# 查看是否上传成功
ls
# 查看正在运行的容器(方便复制ID)
docker ps
# 复制文件到容器下对应的文件夹
# 文件夹路径可以在上面【1】看到
docker cp 文件名.war 容器ID:文件夹路径
# 进入容器查看
docker exec -it 容器ID /bin/bash
# 查看文件
ls -l
# 进入放文件的文件夹
cd 文件夹名
# 查看文件(确认是否复制过来了)
# 一般都是复制到Tomcat的webapps文件夹中
# 如果Tomcat正在运行,会自动将war包解包
ls -l

现在就已经把项目部署到了测试环境了。

访问项目

http://IPADDR中设置的IP地址:9999/项目名称

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
乌鸦不像写字台1 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器
互联网搬砖老肖3 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
Antonio9153 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
艾伦_耶格宇4 小时前
【docker】-1 docker简介
运维·docker·容器
R.X. NLOS4 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
cuijiecheng20185 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
IvanCodes6 小时前
二、Docker安装部署教程
docker·容器
Andy杨8 小时前
20250707-4-Kubernetes 集群部署、配置和验证-K8s基本资源概念初_笔记
笔记·容器·kubernetes
jingyu飞鸟9 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
2401_8582861110 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb