docker linux 部署_linux部署docker - CSDN
  • 前言:在linux系统中部署环境往往要修改很多配置,利用docker容器技术可以简便这些操作,快速部署服务器环境。 docker:通俗来说,就是类似于虚拟机的运行原理,寄宿在主机上运行。而在docker容器里面运行的各种容器...

    前言:在linux系统中部署环境往往要修改很多配置,利用docker容器技术可以简便这些操作,快速部署服务器环境。

    docker:通俗来说,就是类似于虚拟机的运行原理,寄宿在主机上运行。而在docker容器里面运行的各种容器,类似于安装window系统需要的镜像,当一个系统安装纯净版时,什么都没有,啥驱动和软件都要自己亲自去安装,这时候的就有了镜像,人们把自己安装配置好软件的系统打包,提供给被别人安装,当别人安装了这个系统时,就不用自己安装驱动,同时也会有一些别的软件。而docker就是参照这个原理,将安装时要手动配置的步骤打包成docker,供别人pull,当别人将这个软件pull到自己主机时,配置就不用自己手动添加了,达到一键安装的效果。

    结构图:

     

                         运行各种镜像产生的容器

                                  Mysql容器

                                  Tomcat容器

                                  Redis容器等

                                   Docker容器

                                   Linux(主机)

    1、首先在linux系统通过传统的方式安装jdk和tomcat

    Linux系统:Centos7.3(可以用自己搭建的虚拟机,也可租云服务器)

    工具:

    SmarTTY(或Xshell):用做远程连接Linux系统

    Xftp:用做与Linux系统传输文件

    所需的软件:

     Xftp连接到centos系统后,在/usr/目录下新建java,其子目录下创建jdk和tomcat文件夹,用来放置jdk和tomcat

    用Xftp传输两个压缩包到相关的目录下,进入文件夹,进行解压

    解压命令:

    #tar -xvf jdk-8u191-linux-x64.tar.gz 
    #tar -xvf apache-tomcat-7.0.91.tar.gz 

    执行结果:

     

    配置jdk环境变量

    方法一:

    打开编辑文件:

    #vi /etc/profile

    在任意位置添加以下配置:

    export JAVA_HOME=/usr/java/jdk/jdk1.8.0_191

    export JRE_HOME=/usr/java/jdk/jdk1.8.0_191/jre

    export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH

    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

    编辑完内容后,按下Esc键,并输入“:wq”,然后回车可以保存退出。

    使配置文件生效:

    #source /etc/profile

    验证jdk环境:

    # java -version

    方法二:

    利用Xftp可视化窗口直接打开profile文件编辑

    去到相应文件夹下开启tomcat服务

    # ./startup.sh

     阿里云服务器是默认关闭防火墙的

    # firewall-cmd --state

     为了安全需要开启防火墙的话,添加相关的出站规则即可,查看端口状态

    # netstat -lnp

    访问项目:

    传输war包到tomcat下的webapps目录下,然后访问项目 

    但是,这时候是访问不到项目的,因为阿里云服务器设置了双重防火墙,还要去控制台开启相关端口的出站规则

     

    2、docker方式安装mysql 

    首先检查linux是否支持docker,内核版本3.10以上才支持

    # uname -r

     

    安装docker

    # yum install docker

     开启docker服务

    # systemctl start docker

    开启docker自启动

    # systemctl enable docker

    利用docker搜索mysql 

    # docker search mysql

    相当于在网站https://hub.docker.com上面搜索

    进入一个mysql,里面有各种版本,默认下载的是最新版本

     

     下载mysql5.7版本

    # docker pull mysql:5.7

     启动容器,第一次启动需要根据镜像来启动容器

    # docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

     

    --name 自定义容器名字:容器名字

    -d:在后台运行

    -e MYSQL_ROOT_PASSWORD=数据库密码:设置mysql密码,启动其他容器时不用加这个参数

    -p 3306:3306:端口映射,容器端口映射到主机端口,因为外部是不能访问到容器端口的,如果是tomcat,则要映射8080端口

    mysql:5.7:拉取的镜像名称

    还有一些常用的docker命令

    容器:

    # docker ps:查看运行中的容器

    # docker ps -a:查看所有的容器

    # docker stop 容器id:停止运行中的容器

    # docker start 容器id:启动容器(第二次启动用这个)

    # docker rm 容器id:删除容器

    镜像:

    # docker images:镜像的列表

    # docker rmi 镜像id:删除镜像

    不要混淆了镜像和容器的概念,容器是通过运行镜像来产生的

    看到这里,大家是不是有疑问了?很正常

    疑问一:为什么不用docker方式安装tomcat?

    因为通过docker安装的软件,不能通过Xftp直接可视化部署项目,只能通过命令来进入docker版的tomcat,对于部署项目就有点不方便了

    对tomcat的相关操作(图转载自网络,侵权可告知删博):

    疑问二:为什么要用docker方式安装mysql? 

    直接安装mysql的话,还需要自己设置相关的设置,有点麻烦,docker的一键安装比较方便,docker还可以安装其他的软件,例如redis、mongodb等众多软件,用起来也方便,当然,也可以自己定义docker,用自己配置好的docker容器,这部分这里没有介绍到,有兴趣的可以去了解下。

    总结:各种技术层出不穷,学会如何高效的应用到开发当中才是最重要的。

    展开全文
  • docker安装部署

    2020-07-30 23:32:07
    docker最新包,已测试在centos等Linux系统上用rpm完美安装!
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更...

    在这里插入图片描述
    一、认识docker

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    在这里插入图片描述
    二、Docker的应用场景

    Web 应用的自动化打包和发布。

    自动化测试和持续集成、发布。

    在服务型环境中部署和调整数据库或其他的后台应用。

    从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

    三、Docker 的优点

    Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

    1、快速,一致地交付您的应用程序

    Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。

    容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:

    您的开发人员在本地编写代码,并使用 Docker 容器与同事共享他们的工作。

    他们使用 Docker 将其应用程序推送到测试环境中,并执行自动或手动测试。

    当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。

    测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。
    在这里插入图片描述

    四、好了简单介绍了下docker,下面进入正题

    1、linux系统centos7.2 作为宿主机

    2、安装docker容器

    步骤:

    2.1、安装需要的依赖包–命令:sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    2.2、设置阿里云镜像源–命令:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    2.3、安装 Docker-CE–命令:sudo yum install docker-ce

    2.4、启动docker服务–命令:service docker start

    好了到这里docker容器已经下载安装好了,下面就可以在docker里安装需要的环境了。
    在这里插入图片描述
    3、docker基本命令

    3.1、设置docker开机自启动–命令:sudo systemctl enable docker

    3.2、docker重启动–命令:docker restart docker容器名

    3.2、查看运行的容器–命令:docker ps 【正在运行的docker容器】

    3.3、查看所有的容器–命令:docker ps -a【包含已经停止的容器】

    3.4、指定容器启动–命令:docker start -i docker容器名

    3.5、删除docker容器–命令:docker rm docker容器名

    3.6、创建并启动docker容器–命令:docker run -p 0.0.0.0::8888:80 -it --name=sx centos /bin/bash

    此处说明:设置docker容器端口映射四种方式:

    3.6.1、docker run -p 80 -i -t centos /bin/bash 【该方式指定容器端口-宿主机端口随机】

    3.6.2、docker run -p 8080:80 -i -t centos /bin/bash【该方式指定宿主机端口:容器端口】

    3.6.3、docker run -p 0.0.0.0:80 -i -t centos /bin/bash 【该方式指定宿主机IP:容器端口】

    3.6.4、docker run -p 0.0.0.0:8888:80 -i -t centos /bin/bash 【该方式指定宿主机IP:端口:容器端口】常用这种方式

    通过3.6.4命令创建好容器后,外部可以通过访问宿主机IP:8080端口映射到docker容器的80端口。

    3.7、守护式容器快捷退出键:CTRL+Q CTRL+P【此快捷键退出后,程序后台正常运行】

    3.8、docker利用iptables防火墙技术实现用户IP权限访问。

    3.9、查看docker信息–命令:docker inspect docker容器名

    3.10、进入运行的docker容器–命令:docker attach docker容器

    3.11、Linux与docker之间的文件传输–命令:

    3.11.1:–宿主机Linux文件复制到容器docker中的命令:docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

    示例:docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js

    3.11.2–docker容器复制到宿主机Linux中的命令:docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径

    示例:docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt

    3.12、查看所有TCP端口–命令:netstat -ntlp

    4、docker容器部署vue前端web项目

    4.1、进入docker容器:docker attach sx【docker容器名】 如图:
    在这里插入图片描述

    a.安装需要的环境,docker默认没有vim编译器–yum install vim

    b.安装nginx–yum install nginx

    c.窗口文件夹用于存放web项目–mkdir /var/webapps/html

    d.修改nginx的nginx.config配置文件路径,改为项目的/var/webapps/html/dist
    在这里插入图片描述

    e.启动nginx–命令容器内:nginx。启动后外部可通过宿主机的ip:8888[上面设置的]访问了。
    在这里插入图片描述
    更多技术分享和免费视频资料:请关注微信公众号获取–Coding测试
    在这里插入图片描述

    展开全文
  • Linux docker 部署.netcore

    2019-07-22 09:10:47
    命令行执行docker pull microsoft/dotnet,等几分钟后即可安装完毕。 2.查看docker 镜像 命令执行 docker images 可以看到已经安装好的基础镜像 3.创建netcore项目 我用的是 vs2017 这里选择 ASP.NET Core 2.0 ...

    1.拉取 dotnet 基础镜像

    命令行执行docker pull microsoft/dotnet,等几分钟后即可安装完毕。

    2.查看docker 镜像

    命令执行 docker images 在这里插入图片描述
    可以看到已经安装好的基础镜像

    3.创建netcore项目

    我用的是 vs2017
    在这里插入图片描述

    在这里插入图片描述
    这里选择 ASP.NET Core 2.0
    在这里插入图片描述

    修改Program.cs 文件 设置外部可以访问

    4.发布项目

    在这里插入图片描述
    选择文件夹
    在这里插入图片描述

    5.复制项目

    找到发布目录下的 publish 文件
    在这里插入图片描述
    publish 文件里大概的样子
    在这里插入图片描述
    利用工具将 publish 文件夹上传到 Linux 服务器上

    6.创建 Dockerfile

    FROM microsoft/dotnet
    COPY ./publish /app
    WORKDIR /app
    EXPOSE 6666
    ENTRYPOINT [“dotnet”, “myFistApps.dll”]

    7.上传至LINUX 服务器

    在这里插入图片描述

    放在跟 publish 文件同目录下

    8.构建镜像

    docker build -t netcoredemo .

    最后面有个 . 不能漏掉

    在这里插入图片描述

    构建完成 查看镜像

    docker images

    就可以看到 netcoredemo 镜像了

    9.运行镜像

    docker run --name demonetcore -d -p 6111:6666 netcoredemo

    在这里插入图片描述
    这里镜像就启动完成了 可以查看启动的镜像

    docker ps
    在这里插入图片描述

    浏览器查看 http://localhost:6111
    在这里插入图片描述

    netcore项目就部署完成啦!

    2019/06/28 第一次写博客。

    展开全文
  • 当你想要使用docker部署.net core项目时候,你应该考虑这些问题 1.docker怎么部署 2.怎么快速部署 3.怎么自动化部署 4.怎么检查日志 5.如果代码使用git或者svn怎么更新代码就可以完成部署 6.定时运行控制台...

    当你想要使用docker部署.net core项目时候,你应该考虑这些问题
    1.docker怎么部署
    2.怎么快速部署
    3.怎么自动化部署
    4.怎么检查日志
    5.如果代码使用git或者svn怎么更新代码就可以完成部署
    6.定时运行控制台程序项目


    一.docker怎么部署

    1.将项目拷贝到服务器中 类似地址是:/var/www/spiderweb/CSHouseWeb

    2.docker下载dotnet环境镜像:

    docker pull microsoft/dotnet:2.1-aspnetcore-runtime
    docker pull microsoft/dotnet:2.1-sdk
    

    本人使用的是net core 2.1

    然后在项目目录创建Dockerfile(自行百度是什么,其实就是快捷构建的配置文件),这个自己写,或者在创建web项目的时候勾选docker支持。

    FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
    WORKDIR /app
    EXPOSE 80
    
    FROM microsoft/dotnet:2.1-sdk AS build
    WORKDIR /src
    COPY /CSHouseWeb.csproj /
    RUN dotnet restore /CSHouseWeb.csproj
    COPY . .
    WORKDIR /src/
    RUN dotnet build CSHouseWeb.csproj -c Release -o /app
    
    FROM build AS publish
    RUN dotnet publish CSHouseWeb.csproj -c Release -o /app
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app .
    ENTRYPOINT ["dotnet", "CSHouseWeb.dll"]
    
    
    

    这里写图片描述

    3.docker构建项目

    docker build  /var/www/spiderweb/CSHouseWeb -t csweb_net

    这里写图片描述
    4、启动项目,映射端口

    docker run --name csweb  -d -p 2100:5000  csweb_net

    二.怎么快速部署

    上面是编译后在发布,一般情况我们只是发布html,css,js,或者是直接把代码拷贝到项目中,就不考虑编译了
    我们就可以使用下面Dockerfile
    怎么发布呢?
    1.右击发布 2.iis.ftp 3.文件系统 4.创建下面的Dockerfile 5.把目录拷贝到服务器上

    FROM microsoft/dotnet
    WORKDIR /app
    COPY . .
    ENTRYPOINT ["dotnet", "CSHouseWeb.dll"]

    6.执行

    docker build  /var/www/spiderweb/CSHouseWeb -t csweb_net
    docker run --name csweb_net  -d -p 2102:80  csweb_net
    

    三.自动化部署、定时启动、svn、git代码提交部署都可以使用jenkins了
    具体方法之后参考使用jenkins自动化部署docke镜像node项目
    写下脚本

     docker kill csweb_net
     docker rm csweb_net
     docker image rm csweb_net
    docker build  /var/www/spiderweb/CSHouseWeb -t csweb_net
    docker run --name csweb_net  -d -p 2102:80  csweb_net
    展开全文
  • 假设你已经安装好了.net core 运行环境,未配置可以看这篇[linux(centos)搭建.net core 运行环境] centos:7.2 cpu:1核 2G内存 1M带宽 docker:18.06.1-ce 安装docker 安装其实很简单,就不重复说了,请查看纯洁...
  • Linux下使用docker部署前后分离netcore webapi项目、前端vue页面、Mysql、Redis、SQLite 说明 这篇文章是为了记录公司的项目部署过程,方便给其他运维人员查阅,我对linux的详细操作谈不上非常精通,如果只是想了解...
  • Linux使用Docker容器部署环境 利用连接工具连上服务器(我这里用的是Xshell) 查看linux的版本:uname -r 我这里是3.1的最好要3.0以上的 更新yum命令:yum update 使用yum安装docker:yum install docker...
  • 部署 实现docker部署的三种方式 阿里云拉去镜像 自做镜像方式 使用dockerFile 部署docker 1. 阿里云 1登陆官网 百度“docker 官方文档”à 点击get Dockeràdocker CEàLinuxàCentOS 网址:...
  • 主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等。我用的电脑是mac,本身并不支持docker,需要安装Docker ToolBox才能使用...
  • 分享一下linux部署docker的javaweb项目 1.环境 linux centos 7.2 64-bit系统 kernel 3.10+ 查看版本号 : uname -r 大于3.10即可 2.安装docker 这里是官网安装教程 ...
  • LinuxDocker快速部署LAMP目录获取基础镜像自定义你的镜像基于你的镜像运行一个容器权限修改访问测试 若你的mac或Linux环境未上安装Docker,请移步Docker安装,确认安装成功之后再进行下文内容。 目录 获取基础...
  • 1、将你的vue项目打包,打包成的结构如下: WEB-INF是为了解决在tomcat下 单路由页面报错404问题,这里可以忽略。 2、复制你的nginx.config文件到/work下 ...config文件内容: ...#error_log logs/err...
  • 一、常用命令 1. liunx  a)进入文件夹:cd 文件夹名  b)查看文件夹所有文件信息:ll(只显示文件名) 或者 ls (包括时间、大小等)  c)打开文件:tac 或者cat 文件名; 退出文件:fi  d)授权:sudo ...
  • Linux系统 ###docker-ce安装### 1、卸载老版本,较老版本的Docker被称为dockerdocker-engine。如果这些已安装,请卸载它们以及关联的依赖关系。 # sudo yum remove docker \ docker-common \ docker-selinux \...
  • linux离线部署docker

    2019-05-16 10:55:30
    linux离线部署docker 1.下载docker二进制包:百度网盘https://pan.baidu.com/s/1sWtL2xJfNftBXYUciTQu9g密码 vh5j 2.下载docker.service 和 docker.socket 链接:...
  • 有时候我们的软件部署环境是完全离线的,需要离线部署docker部署业务相关的软件,为了方便操作,提供一下脚本 脚本文件: #!/bin/bash # auto deploy icity system # offline install docker use rpm set -ex ...
  • Docker安装部署及使用

    2020-04-22 21:30:31
    Docker安装部署及使用 实验内容 安装Docker. 创建自己的第一个容器 容器使用,查看、启动、进入、停止、删除对应容器。 容器安装MySQL。 Experimental environment Virtual Machine: VMware 15 OS: ...
  • 一、安装docker的基本命令 1. 首先需要查看Linux内核版本 uname –r 2. 安装docker yum install docker 或者 sudo wget -qO- https://get.docker.com | sh 3. 安装完成后,查看docker版本 docker ...
  • docker之离线部署

    2020-01-03 17:51:01
    docker之离线部署Linux下离线安装DockerDocker下载Docker安装启动Docker验证Docker Linux下离线安装Docker Docker下载 百度云Docker 18.06.1地址:https://pan.baidu.com/s/1YdN9z72QutPkHBfLq06H1A 密码:dvvh ...
1 2 3 4 5 ... 20
收藏数 57,574
精华内容 23,029
关键字:

docker linux 部署