摘要:你需要新建目錄結(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
摘要:你需要新建目錄結(jié)構(gòu)初始化的語句如下你的用戶名你的鏡像這回直接拉取你在上的鏡像去掉構(gòu)建步驟壓縮給別人使用命令一鍵運行數(shù)據(jù)庫項目舒服了 看這篇文章,必須知道基礎的docker, 本文只提供思路和部分代碼, 不負責教 所有的命令必須謹慎操作!三思而后行 命令 停止所有運行的容器 docker stop $(docker ps -a -q) 刪除所有的容器 docker rm $(docker...
摘要:采用虛擬化的技術來虛擬化出應用程序的運行環(huán)境。安裝成功后,可以通過查看版本號盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號,到此你已經(jīng)成功構(gòu)建了一個新的鏡像,你可以通過,查看你的鏡像。部署時將此文件到生產(chǎn)環(huán)境服務器上。 Docker docker是一個開源的應用容器引擎,可以為我們提供安全、可移植、可重復的自動化部署的方式。docker采用虛擬化的技術來虛擬化出應用程序的運行環(huán)境。此...
摘要:采用虛擬化的技術來虛擬化出應用程序的運行環(huán)境。安裝成功后,可以通過查看版本號盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號,到此你已經(jīng)成功構(gòu)建了一個新的鏡像,你可以通過,查看你的鏡像。部署時將此文件到生產(chǎn)環(huán)境服務器上。 Docker docker是一個開源的應用容器引擎,可以為我們提供安全、可移植、可重復的自動化部署的方式。docker采用虛擬化的技術來虛擬化出應用程序的運行環(huán)境。此...
摘要:為確保系統(tǒng)里面沒有自帶的軟件的殘留,我們要清除一下舊版本的,雖然新系統(tǒng)一般都不會有就是了。更新軟件包緩存。 showImg(https://segmentfault.com/img/remote/1460000015914895?w=1240&h=819); 小劇場 測試:褲襠你這頁面刷新就白屏啊,怎么了啊,而且你看這 network,怎么這些 js 這么大啊,很耗流量而且加載速度還很...
摘要:最近在學習,并用重新部署了項目,使用后確實大幅度地降低了部署難度。如果,內(nèi)存,硬盤不夠,只能加物理設備,但這個是有上限的。虛擬化時代為了解決物理設備的諸多問題,出現(xiàn)了虛擬機。全手動部署編寫文件。一鍵啟動,確保已安裝。 最近在學習 Docker,并用 Docker 重新部署了cdfang-spider項目,使用 docker 后確實大幅度地降低了部署難度。如果你也想用 Docker 來部...
閱讀 3211·2023-04-25 18:43
閱讀 890·2021-11-24 09:39
閱讀 1360·2021-10-14 09:43
閱讀 3890·2021-09-22 15:58
閱讀 1897·2019-08-29 17:18
閱讀 408·2019-08-29 14:14
閱讀 3076·2019-08-29 13:01
閱讀 1613·2019-08-29 12:33