Docker学习教程

学前准备

👿 Linux 基础

👿 SpringBoot 基础


1. Docker 概述

1.1 docker 为什么出现

环境影响程序的运行 , 当环境改变的时候配置新的环境费时费力.

  • docker 可以简化项目的打包 , 部署 , 上线 . 带上环境(环境镜像)
  • Docker通过隔离机制,可以将服务器利用到极致.
  • Docker是基于Go语言开发的

1.2 Docker 容器和虚拟机的不同

  1. 传统虚拟机,需要虚拟硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件;
  2. 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟硬件,更加轻便;
  3. 每个容器间相互隔离,每个容器内部都有一个属于自己的文件系统,互不影响。

1.3 Docker 能做什么

DevOps(开发、运维)

  1. 更快捷的交付和部署

传统:一堆帮助文档,安装程序

Docker: 打包镜像发布测试,一键运行。

  1. 更便捷的升级和扩缩容
  2. 更简单的系统运维
  3. 更高效的计算机资源利用

2. Docker 安装

2.1 Docker 的组成

在这里插入图片描述

  1. 镜像(Image)

    镜像就像一个模板,可以通过模板来创建容器服务

  2. 容器(container)

    这个容器就像一个最简单的Linux系统

  3. 仓库(repository)

    仓库就是 存放镜像的地方,分为共有仓库和私有仓库.

3. Docker 命令

  • 通过docker部署一个前后端项目

3-1 安装Nginx

拉去Nginx文件

docker pull nginx

查看下载好的镜像文件

docker images

创建并运行Nginx

docker run -d --name nginx01 -p 8080:80 nginx
docker run :启动一个容器
-d:表示后台允许
--name:起一个别名
-p 8080:80:表示将本机的8080端口映射到nginx镜像的80端口

查看Nginx是否部署成功

curl localhost:8080

查看所有容器

docker ps -a

移出创建的容器

docker rm ee3ba2b76699 [ee3ba2b76699为容器id,也可以是名称(nginx01)]

运行中的容器需要先停止才能移出,停止运行中容器

docker stop nginx01

创建本地管理目录
在这里插入图片描述
启动容器的时候挂载在本地

docker run --name nginx -p 8080:80 -v /myInstall/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /myInstall/docker/nginx/www/:/usr/shart/nginx/html/ -v /myInstall/docker/nginx/logs/:/var/log/nginx/ -v /myInstall/docker/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx

3-2 安装mysql

下拉mysql镜像文件,默认下载的是

docker mysql

启动MySQL容器

docker run --name mysql8 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql

开启3306端口开放

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙,
查看3306端口是否开放

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --query-port=3306/tcp

  • 然后可以通过远程的数据库软件连接

3-3 安装java ,在打包jar镜像的时候会自动下载

3-4 建立文件夹,上传jar包,和配置文件

在这里插入图片描述
在这里插入图片描述

3-5 建立文件夹,vue打包的dist包,配置文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

构建镜像,在目录下运行

docker build -t vue .

运行

docker run -d -p 8081:80 --name httpvue vue

  • 然后就可以远程访问了

在这里插入图片描述

4. Docker 镜像

5. 容器数据

6. DockerFile

7. Docker 网络原理

8. Docker Compose

9. Docker Swarm (简化版的k8s)

10. CI\CD Jenkins

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值