当前位置:首页 » 网页前端 » dockerweb
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

dockerweb

发布时间: 2022-02-02 15:32:37

⑴ docker配置web服务后,要怎么让外网访问

直接在路由器你们做个端口映射 把你的192.168.0.254的80端口发布到Internet 就可以使用的你联通的外网IP访问你的网站了 记得采纳啊

⑵ docker部署javaweb 必须要有一个应用服务器吗

使用docker来搭建微服务,也就是分成不同的容器来组成一个大服务的内部服务。这种情况下端口之间的访问可以通过run时指定--link参数指定某台容器;
数据库文件通过-v(--volume)的方式指定从本地某个目录挂载到容器里面;
容器文件之间的共享通过指定某个文件夹为VOLUME就可以共享,本质上还是把本地文件系统的目录挂载到多个容器中而已。

⑶ 如何访问docker容器的web

需要前目录建立三文件

1).gitignore

node_moles/*
2)package.json

{
"name": "docker-centos-hello",
"private": true,
"version": "0.0.1",
"description": "Node.js Hello world app on CentOS using docker",
"author": "Daniel Gasienica ",
"dependencies": {
"express": "3.2.4"
}
}
3)server.js

var express = require('express'),
app = express(),
redis = require('redis'),
RedisStore = require('connect-redis')(express),
server = require('http').createServer(app);

app.configure(function() {
app.use(express.cookieParser('keyboard-cat'));
app.use(express.session({
store: new RedisStore({
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
db: process.env.REDIS_DB || 0
}),
cookie: {
expires: false,
maxAge: 30 * 24 * 60 * 60 * 1000
}
}));
});

app.get('/', function(req, res) {
res.json({
status: "ok"
});
});

var port = process.env.HTTP_PORT || 3000;
server.listen(port);
console.log('Listening on port ' + port);
配置Dockerfile

我需要通Dockerfile配置我docker镜像

FROM ubuntu:14.04
MAINTAINER zengjinlong

RUN apt-get update

#Install Redis
RUN apt-get -y -qq install python redis-server

RUN apt-get -y -qq install wget

#Install Node
RUN cd /opt && \
wget && \
tar -xzf node-v0.10.33-linux-x64.tar.gz && \
mv node-v0.10.33-linux-x64 node && \
cd /usr/local/bin && \
ln -s /opt/node/bin/* . && \
rm -f /opt/node-v0.10.33-linux-x64.tar.gz

#Set the working directory
WORKDIR /src
j
CMD ["/bin/bash"]
Dockerfile通docker build建立我镜像

docker build -t minimicall/node_web:0.1 .
需要说明需要灵根据ubuntu真实环境变化间指令例,我第执行候告诉我找python redis-server我想应该我apt 源太out所我加RUN apt-get update.解决问题

我wget候说没指令我安装wget.nodejs址我nodejs官网查找所碰问题具体问题具体析

查看我建立镜像

micall@micall-ThinkPad:~/docker/nodejs_web_app$ sudo docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
minimicall/node_web 0.1 730770dff17f 6 minutes ago 268.7 MB
centos centos6 70441cac1ed5 2 weeks ago 215.8 MB
ubuntu 14.04 5506de2b643b 4 weeks ago 199.3 MB
启我镜像:

sudo docker run -i -t --rm \
> -p 3000:3000 \
> -v `pwd`:/src \
> minimicall/node_web:0.1
候我已经进入镜像启容器面

root@d80a2ed6b4c0:/src#
执行列命令

root@d80a2ed6b4c0:/src# npm install --quiet > /dev/null
npm WARN engine [email protected]: wanted: {"node":"<0.9.0"} (current: {"node":"0.10.33","npm":"1.4.28"})
root@d80a2ed6b4c0:/src# npm install -g nodemon --quiet > /dev/null
root@d80a2ed6b4c0:/src# ls
Dockerfile Dockerfile~ index.js~ package.json server.js src
Dockerfile.centos index.js node_moles package.json~ server.js~
root@d80a2ed6b4c0:/src# nodemon server.js
22 Nov 14:37:31 - [nodemon] v1.2.1
22 Nov 14:37:31 - [nodemon] to restart at any time, enter `rs`
22 Nov 14:37:31 - [nodemon] watching: *.*
22 Nov 14:37:31 - [nodemon] starting `node server.js`
Listening on port 3000
候用浏览器打:结

{
"status": "ok"
}

⑷ docker在web开发中得使用流程是怎样的

docker在web开发中得使用流程概述:

1、创建java镜像:

把所有的文件都放置在docker目录下,分别为不同的功能创建不同的目录。

$ sudo mkdir docker/java
$ sudo cd docker/java
接下来在该目录下创建一个jdk的Dockerfile文件,具体内容如下:

# openjdk 6
# version 1.0
FROM ubuntu:14.04
MAINTAINER mhy "[email protected]"
RUN apt-get update
RUN apt-get install -y -q openjdk-7-jdk
WORKDIR /
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
CMD ["/bin/bash"]
创建完Dockerfile之后来生成一个jdk的镜像

$ sudo docker build -t pobaby/java .

以上已经实现了一个简单的基于Docker容器运行的Java Web程序。

⑸ docker部署web服务后,要怎么让其他电脑访问项目

Docker的使用 Docker是一个轻量级的虚拟化解决方案,你可以实现秒级的虚拟机启动、非常轻量级的虚拟化。个人使用理解看来,它可以实现一个类似于版本管理Git一样的轻量化的状态保存。

⑹ docker java web 怎么访问

docker只是个容器而已,况且还是虚拟的。

⑺ 如何使用docker部署web应用

步骤一 - 创建Dockerfile

如下的Dockerfile可以满足以上的要求:
**FROM** golang:1.6

*# Install beego and the bee dev tool*

**RUN** go get github.com/astaxie/beego && go get github.com/beego/bee

*# Expose the application on port 8080*

**EXPOSE** 8080

*# Set the entry point of the container to the bee command that runs the*

*# application and watches for changes*

**CMD** ["bee", "run"]

第一行,
FROM golang:1.6

将Go的官方映像文件作为基础映像。该映像文件预安装了 Go 1.6 . 该映像已经把 $GOPATH 的值设置到了 /go 。所有安装在 /go/src 中的包将能够被go命令访问。

第二行,
RUN go get github.com/astaxie/beego && go get github.com/beego/bee

安装 beego 包和 bee 工具。 beego 包将在应用程序中使用。 bee 工具用语在开发中再现地重新加载咱们的代码。

第三行,
EXPOSE 8080

在开发主机上利用容器为应用程序开放8080端口。

最后一行,
CMD ["bee", "run"]

使用bee命令启动应用程序的在线重新加载。

步骤二 - 构建image

一旦创建了Docker file,运行如下的命令来创建image:
docker build -t ma-image .

执行以上的命令将创建名为ma-image的image。该image现在可以用于使用该应用程序的任何人。这将确保这个团队能够使用一个统一的开发环境。

为了查看自己的系统上的image列表,运行如下的命令:
docker images

这行该命令将输出与以下类似的内容:
REPOSITORY TAG IMAGE ID CREATED SIZE

ma-image latest 8d53aa0dd0cb 31 seconds ago 784.7 MB

golang 1.6 22a6ecf1f7cc 5 days ago 743.9 MB

注意image的确切名字和编号可能不同,但是,应该至少看到列表中有 golang 和 ma-image image。

步骤三 - 运行容器

一旦 ma-image 已经完成,可以使用以下的命令启动一个容器:
docker run -it --rm --name ma-instance -p 8080:8080 \

-v /app/MathApp:/go/src/MathApp -w /go/src/MathApp ma-image

让咱们分析一下上面的命令来看看它做了什么。

。docker run命令用于从一个image上启动一个容器

。-it 标签以交互的方式启动容器

。--rm 标签在容器关闭后将会将其清除

。--name ma-instance 将容器命名为ma-instance

。-p 8080:8080 标签允许通过8080端口访问该容器

。-v /app/MathApp:/go/src/MathApp更复杂一些。它将主机的/app/MathApp映射到容器中的/go/src/MathApp。这将使得开发文件在容器的内部和外部都可以访问。

。ma-image 部分声明了用于容器的image。

执行以上的命令将启动Docker容器。该容器为自己的应用程序开发了8080端口。无论何时做了变更,它都将自动地重构自己的应用程序。自己将在console(控制台)上看到以下的输出:
bee :1.4.1

beego :1.6.1

Go :go version go1.6 linux/amd64

2016/04/10 13:04:15 [INFO] Uses 'MathApp' as 'appname'

2016/04/10 13:04:15 [INFO] Initializing watcher...

2016/04/10 13:04:15 [TRAC] Directory(/go/src/MathApp)

2016/04/10 13:04:15 [INFO] Start building...

2016/04/10 13:04:18 [SUCC] Build was successful

2016/04/10 13:04:18 [INFO] Restarting MathApp ...

2016/04/10 13:04:18 [INFO] ./MathApp is running...

2016/04/10 13:04:18 [asm_amd64.s:1998][I] http server Running on :8080

⑻ 如何在docker中部署springboot的web应用

首先你要明白docker是什么,其实他就和虚拟机一样,只是比虚拟机占用资源更小,使用更方便,要部署应用,你可以先拉取一个LINUX的系统下来,然后用docker基于拉取的linux镜像创建容器,再在容器中进行环境搭建,部署,就和在linux系统里操作是一样的。

⑼ docker 所有web都要加端口号吗

一开始docker安装好并且启动container后,container内的服务端口(例如nginx启动后监听的80端口)是不对外暴露的,在宿主windows下用浏览器访问docker虚拟机ip是访问不到container内的80端口的
必须做端口映射操作,只要在container启动时,docker run命令带上端口映射参数就可以了:
docker run -it -p 22222:33333 fe65a2781dae /bin/bash
解释:
-it参数在启动container为tty形式时必带,否则无法做命令行交互
-p 22222:33333 关键参数,指定docker虚拟机的22222端口,映射为container的33333端口,即对192.168.59.103:22222的访问,统统访问到container的33333端口。如果要映射80端口,设置-p 80:80就好
fe65a2781dae 指定docker要运行的imageid,也可以是REPOSITORY:TAG形式
/bin/bash docker启动container后要运行的命令,一般启动命令行交互就用这个就好了

所以要把nginx调通,要做以下步骤:
1、docker run -it -p 80:80 fe65a2781dae /bin/bash
2、container内运行nginx
3、宿主windows浏览器访问192.168.59.103
4、Welcome to nginx!