配置docker并部署一个node.js可运行的环境
概述
本文主要描述在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 [email protected] 输入密码就可以访问了
- 修改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碰到的,记录下来,以后在用到的时候,可以复习,避免再次踩坑
相关推荐
WanKaShing 2020-11-12
王道革 2020-11-25
bwyyziq 2020-11-22
pigsmall 2020-11-19
changecan 2020-11-19
helloWorldAndYou 2020-11-16
nginxs 2020-11-14
红石丶 2020-11-13
yangkang 2020-11-12
滴水穿石点石成金 2020-11-12
张荣珍 2020-11-12
wuxunanjing 2020-11-11
魅惑青花瓷 2020-11-11
lihongtai 2020-11-09
yangkang 2020-11-09
worldsnow 2020-11-06
MichaelJScofield 2020-11-06
TaoTaoFu 2020-11-06