成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker打包nodejs項(xiàng)目和數(shù)據(jù)庫

SimonMa / 977人閱讀

摘要:你需要新建目錄結(jié)構(gòu)初始化的語句如下你的用戶名你的鏡像這回直接拉取你在上的鏡像去掉構(gòu)建步驟壓縮給別人使用命令一鍵運(yùn)行數(shù)據(jù)庫項(xiàng)目舒服了

看這篇文章,必須知道基礎(chǔ)的docker, 本文只提供思路和部分代碼, 不負(fù)責(zé)教
所有的命令必須謹(jǐn)慎操作!三思而后行
命令

停止所有運(yùn)行的容器

docker stop $(docker ps -a -q)

刪除所有的容器

docker rm $(docker ps -a -q)

使用docker-compose啟動(dòng)容器

docker-compose up -d

使用docker-compose關(guān)閉容器

docker-compose down

查看Log

docker logs ${容器id}
部署mysql docker-compose
services:
    mysql:
        network_mode: "host"
        environment:
            MYSQL_ROOT_PASSWORD: "yourpassword"
            MYSQL_USER: "test"
            MYSQL_PASS: "yourpassword"
        image: "docker.io/mysql:latest" 
        restart: always // 連不上就一直重試
        // depends_on:   選擇依賴于某個(gè)服務(wù),依賴的服務(wù)會(huì)先加載
        //    - "sss"
        volumes:
            - "./db:/var/lib/mysql"
            - "./conf/my.cnf:/etc/my.cnf"
            - "./init:/docker-entrypoint-initdb.d/"
        ports:
            - "3306:33060"

自動(dòng)加載sql語句,實(shí)現(xiàn)初始化數(shù)據(jù)庫

mysql的官方鏡像中,會(huì)在加載時(shí)執(zhí)行docker-entrypoint-initdb.d下面文件夾下的sql文件 利用這個(gè)實(shí)現(xiàn)初始化
如果mysql數(shù)據(jù)文件夾中有數(shù)據(jù),則不會(huì)加載sql文件
EGG項(xiàng)目配合docker: 直接被中斷

因?yàn)?b>egg-scripts自己有一套守護(hù)進(jìn)程,去掉daemon參數(shù)

"start": "egg-scripts start --title=egg-server-broken-chain",
部署NodeJs項(xiàng)目

新建Dockerfile文件

FROM node:10.13-alpine
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install -g cnpm
RUN cnpm install --production --silent
COPY . .
EXPOSE 7001
CMD [ "npm", "start"]

在docker-compose.yml中添加信息,用docker-compose管理多個(gè)鏡像相當(dāng)方便

最終的docker-compose.yml文件
version: "2"

services:
  broken-chain:
    image: broken-chain
    build: .
    environment:
      NODE_ENV: production
    ports:
      - 7001:7001
    depends_on:
      - "mysql"
    restart: always
  mysql:
    environment:
        MYSQL_ROOT_PASSWORD: "123"
    image: "docker.io/mysql:5.6" 
    volumes:
        - "./mysql/init:/docker-entrypoint-initdb.d/"
    ports:
        - "3306:3306"
發(fā)布鏡像

登錄Dockerhub

docker login

給鏡像打上標(biāo)簽

docker tag ${鏡像id} ${用戶名}/${鏡像名}:${tag標(biāo)簽}

push推到dockerhub

docker push  ${用戶名}/${鏡像名}:${tag標(biāo)簽}
最后

最終,你要把你做的項(xiàng)目給別人用,開箱即用的那種。你需要

新建目錄結(jié)構(gòu)

- init
   - xxx.sql //初始化的sql語句
- docker-compose.yml

docker-compose.yml如下

version: "2"

services:
  broken-chain:
    image: ${你的用戶名}/${你的鏡像} // 這回直接拉取你在dockerhub上的鏡像
    // build: . 去掉構(gòu)建步驟
    environment:
      NODE_ENV: production
    ports:
      - 7001:7001
    depends_on:
      - "mysql"
    restart: always
  mysql:
    environment:
        MYSQL_ROOT_PASSWORD: "123"
    image: "docker.io/mysql:5.6" 
    volumes:
        - "./mysql/init:/docker-entrypoint-initdb.d/"
    ports:
        - "3306:3306"

壓縮zip給別人

使用命令一鍵運(yùn)行( 數(shù)據(jù)庫 + 項(xiàng)目 )

docker-compose up -d

舒服了

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27822.html

相關(guān)文章

  • Docker打包nodejs項(xiàng)目數(shù)據(jù)庫

    摘要:你需要新建目錄結(jié)構(gòu)初始化的語句如下你的用戶名你的鏡像這回直接拉取你在上的鏡像去掉構(gòu)建步驟壓縮給別人使用命令一鍵運(yùn)行數(shù)據(jù)庫項(xiàng)目舒服了 看這篇文章,必須知道基礎(chǔ)的docker, 本文只提供思路和部分代碼, 不負(fù)責(zé)教 所有的命令必須謹(jǐn)慎操作!三思而后行 命令 停止所有運(yùn)行的容器 docker stop $(docker ps -a -q) 刪除所有的容器 docker rm $(docker...

    MobService 評論0 收藏0
  • Docker部署基于Nodejs的Web應(yīng)用-實(shí)戰(zhàn)篇

    摘要:采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。安裝成功后,可以通過查看版本號(hào)盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號(hào),到此你已經(jīng)成功構(gòu)建了一個(gè)新的鏡像,你可以通過,查看你的鏡像。部署時(shí)將此文件到生產(chǎn)環(huán)境服務(wù)器上。 Docker docker是一個(gè)開源的應(yīng)用容器引擎,可以為我們提供安全、可移植、可重復(fù)的自動(dòng)化部署的方式。docker采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。此...

    marek 評論0 收藏0
  • Docker部署基于Nodejs的Web應(yīng)用-實(shí)戰(zhàn)篇

    摘要:采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。安裝成功后,可以通過查看版本號(hào)盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號(hào),到此你已經(jīng)成功構(gòu)建了一個(gè)新的鏡像,你可以通過,查看你的鏡像。部署時(shí)將此文件到生產(chǎn)環(huán)境服務(wù)器上。 Docker docker是一個(gè)開源的應(yīng)用容器引擎,可以為我們提供安全、可移植、可重復(fù)的自動(dòng)化部署的方式。docker采用虛擬化的技術(shù)來虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。此...

    mikasa 評論0 收藏0
  • docker 應(yīng)用系列(一)--- 一步步搭建虛擬機(jī) docker 環(huán)境 附有 vue-cli +

    摘要:為確保系統(tǒng)里面沒有自帶的軟件的殘留,我們要清除一下舊版本的,雖然新系統(tǒng)一般都不會(huì)有就是了。更新軟件包緩存。 showImg(https://segmentfault.com/img/remote/1460000015914895?w=1240&h=819); 小劇場 測試:褲襠你這頁面刷新就白屏啊,怎么了啊,而且你看這 network,怎么這些 js 這么大啊,很耗流量而且加載速度還很...

    hatlonely 評論0 收藏0
  • 使用 Docker 部署 NodeJS + MongoDB 項(xiàng)目

    摘要:最近在學(xué)習(xí),并用重新部署了項(xiàng)目,使用后確實(shí)大幅度地降低了部署難度。如果,內(nèi)存,硬盤不夠,只能加物理設(shè)備,但這個(gè)是有上限的。虛擬化時(shí)代為了解決物理設(shè)備的諸多問題,出現(xiàn)了虛擬機(jī)。全手動(dòng)部署編寫文件。一鍵啟動(dòng),確保已安裝。 最近在學(xué)習(xí) Docker,并用 Docker 重新部署了cdfang-spider項(xiàng)目,使用 docker 后確實(shí)大幅度地降低了部署難度。如果你也想用 Docker 來部...

    warmcheng 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<