国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

SimonMa / 963人閱讀

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

看這篇文章,必須知道基礎的docker, 本文只提供思路和部分代碼, 不負責教
所有的命令必須謹慎操作!三思而后行
命令

停止所有運行的容器

docker stop $(docker ps -a -q)

刪除所有的容器

docker rm $(docker ps -a -q)

使用docker-compose啟動容器

docker-compose up -d

使用docker-compose關閉容器

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:   選擇依賴于某個服務,依賴的服務會先加載
        //    - "sss"
        volumes:
            - "./db:/var/lib/mysql"
            - "./conf/my.cnf:/etc/my.cnf"
            - "./init:/docker-entrypoint-initdb.d/"
        ports:
            - "3306:33060"

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

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

因為egg-scripts自己有一套守護進程,去掉daemon參數(shù)

"start": "egg-scripts start --title=egg-server-broken-chain",
部署NodeJs項目

新建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管理多個鏡像相當方便

最終的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

給鏡像打上標簽

docker tag ${鏡像id} ${用戶名}/${鏡像名}:${tag標簽}

push推到dockerhub

docker push  ${用戶名}/${鏡像名}:${tag標簽}
最后

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

新建目錄結(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給別人

使用命令一鍵運行( 數(shù)據(jù)庫 + 項目 )

docker-compose up -d

舒服了

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

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

相關文章

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

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

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

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

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

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

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

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

    hatlonely 評論0 收藏0
  • 使用 Docker 部署 NodeJS + MongoDB 項目

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

    warmcheng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<