码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Docker学习教程


    学前准备

    👿 Linux 基础

    👿 SpringBoot 基础


    文章目录

      • @[toc]
      • 1. Docker 概述
        • 1.1 docker 为什么出现
        • 1.2 Docker 容器和虚拟机的不同
        • 1.3 Docker 能做什么
      • 2. Docker 安装
        • 2.1 Docker 的组成
      • 3. Docker 命令
        • 3-1 安装Nginx
        • 3-2 安装mysql
        • 3-3 安装java ,在打包jar镜像的时候会自动下载
        • 3-4 建立文件夹,上传jar包,和配置文件
        • 3-5 建立文件夹,vue打包的dist包,配置文件
      • 4. Docker 镜像
      • 5. 容器数据
      • 6. DockerFile
      • 7. Docker 网络原理
      • 8. Docker Compose
      • 9. Docker Swarm (简化版的k8s)
      • 10. CI\CD Jenkins

    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 安装

    • Docker官网 : https://www.docker.com/

    • Docker文档 : https://docs.docker.com/

    • Docker仓库地址: https://hub.docker.com/

    • Docker安装命令: yum install docker

      1. 启动docker服务: service docker start
      2. 停止docker服务: service docker stop
      3. 重启docker服务: service docker restart
    • 查看docker版本: docker version

    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

  • 相关阅读:
    JVM调优
    乘风破浪,金融科技时代下的数字化转型之路
    基于桶的排序之计数排序
    【智能优化算法-遗传算法】基于遗传算法求解单目标优化问题(实数编码)附matlab代码
    DPDK flow_classify 源码阅读
    https加密协议全过程(结合全站文章,最简单直观的小白文)
    马六甲海峡对海运的重要性
    【区块链】联盟链
    OREPA:阿里提出训练也很快的重参数策略,内存减半,速度加倍 | CVPR 2022
    Java集合04:TreeSet练习
  • 原文地址:https://blog.csdn.net/weixin_54089340/article/details/127898314
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号