當前位置:首頁 » 網頁前端 » 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!