docker run -it -d --name node_fileserver -p 5000:5000 -v /data/node_fileServer/cron:/var/spool/cron -v /data/node_fileServer/html:/application/html -v /data/node_fileServer/log:/application/log -v /data/node_fileServer/upload:/application/upload -v /data/node_fileServer/web_tmp:/data/node_fileServer/web_tmp --privileged=true node_fileserver01 /bin/bash -c “/usr/sbin/sshd && /usr/sbin/crond && (cd /application/html && npm run pm2start > /dev/null 2>&1 &) && tail -f /dev/null”
iptables -t filter -N DOCKER # 如果不行那就
iptables -t nat -N DOCKER # 根据报错响应新建
说明
run 创建一个新的容器并运行
-it 以交互模式运行容器,并为容器重新分配一个伪输入终端
-d 后台运行容器,并返回容器ID
–name 为容器指定一个名称
-v 映射目录 宿主:容器
–privileged=true 关闭认证让容器可以访问目录
/bin/bash -c 执行一个命令,这里是运行npm,这里的命令不能是后台运行模式,因为这样容器会跟着停止,所以使用了个tail -f 保持运行
最后两个iptables 是添加两个表 因为 docker映射端口的时候回往防火墙里添加一些规则,现在默认没有了 所以会报错 需要手动添加一下