Docker極速構建

2021-09-26 06:08:12 字數 4499 閱讀 9031

docker極速構建指,使用docker的映象快速構建開發環境、功能模組、應用服務。

本文會為你介紹一條命令,搭建出你想要的容器。

構建過程中,我們會把容器的掛載目錄集中放在一起,全文中統一使用/home/work做為主目錄。

主目錄/home/work可以換成linux命令中的變數$pwd意為當前目錄。

隨著技術的發展,docker越來越火爆,未來可能會進入容器的新紀元。

docker run -d --name myphp \

-p 9000:9000 \

-v /home/work/nginx/www/:/usr/share/nginx/html \

php:7.2-fpm

啟動php容器

使用該命令,如果不需要**解析php指令碼,可以去掉埠對映

php安裝擴充套件需要進入容器內部,php擴充套件的安裝:

php 安裝 pdo_mysql 擴充套件

進入容器內部執行docker-php-ext-install pdo_mysql安裝pdo_mysql擴充套件

php 安裝 redis 擴充套件

tar -zxvf redis-5.0.1.tgz && mkdir -p /usr/src/php/ext解壓並建立目錄

mv redis-5.0.1 /usr/src/php/ext/redis建立redis資料夾

docker-php-ext-install redis安裝redis擴充套件

php 安裝 mongodb 擴充套件

tar -zxvf mongodb-1.5.5.tgz && mkdir -p /usr/src/php/ext解壓並建立目錄

mv mongodb-1.5.5 /usr/src/php/ext/mongodb建立mongodb資料夾

docker-php-ext-install mongodb安裝mongodb擴充套件

docker run -d \

--name mynginx \

-p 80:80 \

-v /home/work/nginx/www/:/usr/share/nginx/html \

-v /home/work/nginx/conf/:/etc/nginx/ \

nginx

啟動nginx容器

docker run -d \

--name mymysql \

-p 3306:3306 \

-e mysql_root_password=123456 \

mysql

啟動mysql容器

docker run -d \

--name myredis \

-p 6379:6379 \

-v /home/work/nginx/redis/data:/data \

啟動redis容器

docker run -d \

--name mymongo \

-p 27017:27017 \

-v /home/work/nginx/mongo/data/db:/data/db \

mongo

啟動mongodb容器

官方給出的命令

docker run -d --name myadmin -e pma_host=dbhost -p 8080:80 phpmyadmin/phpmyadmin

docker run -d \

--name myadmin \

-e pma_hosts=dbhost1,dbhost2,dbhost3 \

-e pma_ports=port1,port2,port3 \

-p 8080:80 \

phpmyadmin/phpmyadmin

實際可以使用這種方式

docker run -d \

--name myadmin \

-e pma_hosts=172.17.0.4,172.17.0.8,127.0.0.1 \

-e pma_ports=3306,3306,13306 \

-p 9090:80 \

phpmyadmin/phpmyadmin

docker run -d \

-p 19000:9000 \

--name myportainer \

--restart always \

-v /var/run/docker.sock:/var/run/docker.sock \

-v /home/work/portainer/data:/data \

portainer/portainer

啟動portainer管理容器,用來管理docker

啟動seafile容器搭建私有檔案雲盤,官方給出來的命令:

docker run -d --name seafile \

-e seafile_server_letsencrypt=true \

-e seafile_server_hostname=seafile.example.com \

-e [email protected] \

-e seafile_admin_password=a_very_secret_password \

-v /opt/seafile-data:/shared \

-p 80:80 -p 443:443 \

seafileltd/seafile:latest

自己可以根據需要調整埠

docker run -d --name myseafile \

-e seafile_server_letsencrypt=true \

-e seafile_server_hostname=myseafile.com \

-e [email protected] \

-e seafile_admin_password=123456789 \

-v /home/work/seafile:/shared \

-p 18080:80 -p 443:443 \

seafileltd/seafile:latest

啟動gitlab,官方個給出來的命令:

docker run --detach \

--hostname gitlab.example.com \

--publish 443:443 --publish 80:80 --publish 22:22 \

--name gitlab \

--restart always \

--volume /srv/gitlab/config:/etc/gitlab \

--volume /srv/gitlab/logs:/var/log/gitlab \

--volume /srv/gitlab/data:/var/opt/gitlab \

gitlab/gitlab-ce:latest

可以使用簡化為:

docker run -d \

--hostname gitlab.example.com \

-p 443:443 -p 80:80 -p 22:22 \

--name fastgitlab \

--restart always \

-v /home/work/gitlab/config:/etc/gitlab \

-v /home/work/gitlab/logs:/var/log/gitlab \

-v /home/work/gitlab/data:/var/opt/gitlab \

gitlab/gitlab-ce:latest

docker run -d -p 3000:3000 --name grafana grafana/grafana

docker run -d -p 8080:80 --name mediawiki mediawiki

docker run -d -p 6080:80 --name myvnc -e vnc_password=12345678 dorowu/ubuntu-desktop-lxde-vnc

docker run -d -p 5000:5000 --restart always --name registry registry:2

docker構建映象

做映象就是構建映象!提交容器更改,生成新的映象!docker commit 容器名 新映象的名字 tag 例如 將web2容器提交為乙個新的映象,新映象的名字為nginx 1.1 在docker中映象的儲存方式是分層儲存的!每個映象都會有不同層數!映象的層數只能增加不能減少!映象是唯讀的!裡面的記憶...

docker構建映象

建立docker映象有兩種方法。1。docker commit 這種不推薦,就不介紹了。2。用docker build命令和dockerfile檔案 下面構建乙個nginx小應用。建立資料夾 mkdir static web 進入這個資料夾 cd static web 建立dockerfile檔案 ...

Docker 構建映象

docker 構建映象 1 首先,在專案的根目錄下,新建乙個文字檔案.dockerignore,寫入下面的內容。git node modules npm debug.log 2 然後在專案的根目錄下,新建乙個文字檔案 dockerfile,寫入下面的內容。run npm install regist...