docker学习笔记,在 docker 中安装nodejs、koa2

文章发布于2020年10月08日 21:11, 归类于: 未分类

查看运行中的容器

docker ps

查看所有容器

docker ps -a

通过容器 id 启动容器

docker start 72491aab3746

安装nodejs

1、下载nodejs源

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -

2、安装nodejs

yum -y install nodejs

3、校验

node -v

安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装koa2

为了测试宿主机访问容器内的服务,先在容器内安装好koa2。

示例使用 koa2-generator 脚手架快速配置创建一个应用,可以在 koa2-test/bin/www 内修改配置,默认运行3000端口。

在容器内运行 koa2 应用,然后在宿主机访问 koa2 应用地址。

我的项目放在/home/node/koa2-test

npm install -g koa-generator
koa2 -e koa2-test
cd koa2-test && cnpm i

端口映射需要用镜像启动容器,所有,先将安装了nodejs、koa2的容器保存成镜像。

提交镜像到 hub 远程仓库

退出容器,停止容器,创建新的镜像:

exit
docker stop 3775d6fe835e
docker commit -m "安装nodejs、cnpm、koa2" -a "rojerYong" 3775d6fe835e mycentos7:v0.0.2

C:\Users\yangwochang>docker commit -m "安装nodejs、cnpm、koa2" -a "rojerYong" 3775d6fe835e mycentos7:v0.0.2 sha256:7e5a3cdaa1188a70516b5aa3cf5d95fde699fa1f2851229072ea0a8ab207d6f5

查看镜像:

C:\Users\yangwochang>docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE mycentos7 v0.0.2 7e5a3cdaa118 About a minute ago 324MB rojeryong/mycentos7 v0.0.1 bea1ef40037c 17 hours ago 324MB

推送镜像到 hub 仓库

将本地镜像复制、重命名为 docker账户名/仓库名称:

docker tag mycentos7:v0.0.2 rojeryong/mycentos7:v0.0.2

查看镜像:

C:\Users\yangwochang>docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE mycentos7 v0.0.2 7e5a3cdaa118 About an hour ago 324MB rojeryong/mycentos7 v0.0.2 7e5a3cdaa118 About an hour ago 324MB

推送镜像:

docker push rojeryong/mycentos7:v0.0.2

我这使用的是 docker desktop,windows 桌面版,已经登录https://hub.docker.com/

所以并不需要在命令行登录。

网络端口映射

使用 -p 标识来指定容器端口绑定到主机端口。

-P:大写P,是容器内部端口随机映射到主机的高端口。 -p:小写p,是容器内部端口绑定到指定的主机端口。

指定端口映射:

docker run -it --name koa2test -p 3000:3000 mycentos7:v0.0.2 /bin/bash

进入容器,进入koa2应用目录运行npm start,然后在宿主机打开http://127.0.0.1:3000/,可以打开koa2的默认首页。

转载请注明来源:《 docker学习笔记,在 docker 中安装nodejs、koa2》- rojerYong's Blog

文章链接:https://www.eoway.cn /article/1602162699.html

如果此文摘取了你的原创,请联系本站管理员,将对此文修改、删除处理。

--END--
上一篇:阿里云oss绑定二级域名添加ssl证书 下一篇:centos7与docker文件目录映射