docker学习笔记,在 docker 中安装nodejs、koa2
查看运行中的容器
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如果此文摘取了你的原创,请联系本站管理员,将对此文修改、删除处理。