资讯专栏INFORMATION COLUMN

配置docker并部署一个node.js可运行的环境

mushang / 1961人阅读

摘要:概述本文主要描述在中如何创建并使用在容器中创建一个可运行的环境安装这里我使用的系统是安装配置文件加入开机启动启动服务创建启动并附着上去使用镜像创建容器创建一个容器,让其中运行应用,退出后容器关闭如果之前创建过的容器想从新启动并附着上去查

概述

本文主要描述在linux中如何创建并使用docker在容器中创建一个node.js可运行的环境

node.js

pm2

ansible

docker

安装docker

这里我使用的系统是Fedora 28

dnf install docker # 安装docker
# 配置文件 /etc/sysconfig/docker

chkconfig docker on  # 加入开机启动
service docker start # 启动docker服务
创建docker启动并附着上去
# 使用镜像创建容器
docker run -i -t centos:7 /bin/bash # 创建一个容器,让其中运行 bash 应用,退出后容器关闭

如果之前创建过的容器想从新启动并附着上去

docker ps #查看当前启动的容器CONTAINER ID 假如的是:d12c34b4bb77

#附着上去
docker attach d12c #这里可以写ID也可以写name id只写四位也是可以的
#这时候输入密码就可以进去了
安装必要的软件

安装 openssh-server

yum install openssh-server
#安装完毕之后还需要配置公钥
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
#配置完成之后,启动sshd
/usr/sbin/sshd
#可以查询一下后台是否已经启动
ps -aux
#启动成功后,这时候你就可以在物理机上进行访问他了 例如: ssh root@172.17.0.2 输入密码就可以访问了

修改root密码

passwd #这里输入新密码两次就更改成功了

安装vim

yum install vim #安装完成之后,如果出现中文乱码
vim /etc/vimrc  #在文件中加一行 set encoding=utf-8 保存即可

安装node.js

#官网下载 或者使用docker cp命令拷贝过来
docker cp <路径 or 文件> <容器ID or name>:<路径>
docker cp <容器ID or name>:<路径 or 文件> <路径>
#下载好文件之后
tar zxvf <文件名> #进行解压
#这里需要在设置一下软连接一般我都设置在 /usr/local/bin/ 中
#我这里写的 /data/node/bin/ 是我node.js的安装目录 你使用的时候换成你的目录就可以了
ln -s /data/node/bin/* /usr/local/bin/ #*是表示把bin中的所以都建立软连接
#假如你当前就在 /usr/local/bin/ 这个目录下 你可以这么写
ln -s /data/node/bin/* . #这个.则表示,把软连接地址建立在当前目录下

下载pm2

#一般情况下我们使用国外的镜像地址下载
npm install -g pm2 # 但是下载速度感人,我推荐使用国内taobao镜像
#临时使用taobao镜像地址进行下载pm2  
npm --registry https://registry.npm.taobao.org install -g pm2
#这里加上-g是进行的全局安装,安装结束后也需要进行建立软连接跟 上文一样即可命令稍微有一点区别
ln -s /data/node/bin/pm2* . #这里多了一个pm2* 则表示pm2为开头的应用程序都建立连接

最后一步 创建authorized_keys让物理机可以通过ansible免密访问

#生成系统公钥私钥
ssh-keygen -t rsa
#创建authorized_keys文件 目录在 /root/.ssh/
cd
cd .ssh/
touch authorized_keys
#然后复制物理机中的公钥 黏贴到authorized_keys文件中 保存即可无秘访问了

这些都是自己在适用docker碰到的,记录下来,以后在用到的时候,可以复习,避免再次踩坑

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27317.html

相关文章

  • 一步步学会用docker部署应用(nodejs版)

    摘要:本文将采用技术部署一个简单的应用,它包括一个简单的前置网关服务器以及业务服务器。同时使用配置特定镜像,采用进行容器编排,解决依赖网络等问题。服务器首先搭建一个单节点缓存服务,采用官方提供的最新版镜像,无需构建。 docker是一种虚拟化技术,可以在内核层隔离资源。因此对于上层应用而言,采用docker技术可以达到类似于虚拟机的沙盒环境。这大大简化了应用部署,让运维人员无需陷入无止境繁琐...

    canger 评论0 收藏0
  • 一步步学会用docker部署应用(nodejs版)

    摘要:本文将采用技术部署一个简单的应用,它包括一个简单的前置网关服务器以及业务服务器。同时使用配置特定镜像,采用进行容器编排,解决依赖网络等问题。服务器首先搭建一个单节点缓存服务,采用官方提供的最新版镜像,无需构建。 docker是一种虚拟化技术,可以在内核层隔离资源。因此对于上层应用而言,采用docker技术可以达到类似于虚拟机的沙盒环境。这大大简化了应用部署,让运维人员无需陷入无止境繁琐...

    BlackMass 评论0 收藏0
  • Docker部署基于NodejsWeb应用-实战篇

    摘要:采用虚拟化的技术来虚拟化出应用程序的运行环境。安装成功后,可以通过查看版本号尽量使用最新的稳定版本。是镜像名,是镜像的版本号,到此你已经成功构建了一个新的镜像,你可以通过,查看你的镜像。部署时将此文件到生产环境服务器上。 Docker docker是一个开源的应用容器引擎,可以为我们提供安全、可移植、可重复的自动化部署的方式。docker采用虚拟化的技术来虚拟化出应用程序的运行环境。此...

    marek 评论0 收藏0

发表评论

0条评论

mushang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<