分享

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

 孟船长 2022-03-20

什么是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地址

    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命令可以查看文件修改后的内容

    1. cd /etc/sysconfig/network-scripts
    2. ll 可以看到有ifcfg-ens33文件
    3. 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常用命令

  1. 搜索镜像
docker search 镜像名称
  1. 拉取镜像
docker pull 镜像名称
  1. 查看本地镜像(及镜像信息)
docker images
  1. 运行镜像生成容器
docker run -d -p 9999:8080 镜像ID

-d: 在后台运行

-p 9999:8080: 服务器端口映射到容器的端口

执行后会返回一长串数,证明已经正常运行

  1. 查看本地正在运行的容器
docker ps
  1. 查看所有历史运行的容器
docker ps -a
  1. 查看容器内部日志信息
docker logs -f 容器ID
  1. 进入容器
docker exec -it 容器ID /bin/bash

ls -l就可以查看有哪些文件了

d开头表示文件夹

-开头表示文件

  1. 退出容器
exit
  1. 启动/停止/重启容器
docker start/stop/restart 容器ID

Docker部署项目

# 先查看镜像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/项目名称

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多