更新時(shí)間:2021-09-28 10:23:58 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1637次
下面將為大家介紹的是Docker常見(jiàn)的一些倉(cāng)庫(kù)和鏡像的功能,使用方法和生成它們的 Dockerfile 等。包括 Ubuntu、CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。
基本信息:
Ubuntu 是流行的 Linux 發(fā)行版,其自帶軟件版本往往較新一些。 該倉(cāng)庫(kù)提供了 Ubuntu從12.04 ~ 14.10各個(gè)版本的鏡像。
使用方法:
默認(rèn)會(huì)啟動(dòng)一個(gè)最小化的 Ubuntu 環(huán)境:
$ sudo docker run --name some-ubuntu -i -t ubunturoot@523c70904d54:/#
Dockerfile:
12.04 版本;14.04 版本;14.10 版本。
基本信息:
CentOS 是流行的 Linux 發(fā)行版,其軟件包大多跟 RedHat 系列保持一致。 該倉(cāng)庫(kù)提供了 CentOS 從 5 ~7 各個(gè)版本的鏡像。
使用方法:
默認(rèn)會(huì)啟動(dòng)一個(gè)最小化的 CentOS 環(huán)境:
$ sudo docker run --name some-centos -i -t centos bashbash-4.2#
Dockerfile:
CentOS 5 版本;CentOS 6 版本;CentOS 7 版本。
基本信息:
MySQL 是開(kāi)源的關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn)。 該倉(cāng)庫(kù)提供了 MySQL 各個(gè)版本的鏡像,包括 5.6 系列、5.7 系列等。
使用方法:
默認(rèn)會(huì)在 3306 端口啟動(dòng)數(shù)據(jù)庫(kù):
$ sudo docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
之后就可以使用其它應(yīng)用來(lái)連接到該容器:
$ sudo docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
或者通過(guò) mysql :
$ sudo docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYS
Dockerfile:
5.6 版本;5.7 版本。
基本信息:
MongoDB 是開(kāi)源的 NoSQL 數(shù)據(jù)庫(kù)實(shí)現(xiàn)。 該倉(cāng)庫(kù)提供了 MongoDB 2.2 ~ 2.7 各個(gè)版本的鏡像。
使用方法:
默認(rèn)會(huì)在 27017 端口啟動(dòng)數(shù)據(jù)庫(kù):
$ sudo docker run --name some-mongo -d mongo
使用其他應(yīng)用連接到容器,可以用:
$ sudo docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo
或者通過(guò) mongo:
$ sudo docker run -it --link some-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MON
Dockerfile:
2.2 版本;2.4 版本;2.6 版本;2.7 版本。
基本信息:
Redis 是開(kāi)源的內(nèi)存 Key-Value 數(shù)據(jù)庫(kù)實(shí)現(xiàn)。 該倉(cāng)庫(kù)提供了 Redis 2.6 ~ 2.8.9 各個(gè)版本的鏡像。
使用方法:
默認(rèn)會(huì)在 6379 端口啟動(dòng)數(shù)據(jù)庫(kù):
$ sudo docker run --name some-redis -d redis
另外還可以啟用 持久存儲(chǔ):
$ sudo docker run --name some-redis -d redis redis-server --appendonly yes
默認(rèn)數(shù)據(jù)存儲(chǔ)位置在 VOLUME/data ;可以使用 --volumes-from some-volume-container 或 -v/docker/host/dir:/data 將數(shù)據(jù)存放到本地。
使用其他應(yīng)用連接到容器,可以用:
$ sudo docker run --name some-app --link some-redis:redis -d application-that-uses-redis
或者通過(guò) redis-cli:
$ sudo docker run -it --link some-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS
Dockerfile:
2.6 版本;最新 2.8 版本。
基本信息:
Nginx 是開(kāi)源的高效的 Web 服務(wù)器實(shí)現(xiàn),支持 HTTP、HTTPS、SMTP、POP3、IMAP 等協(xié)議。 該倉(cāng)庫(kù)提供了 Nginx 1.0 ~ 1.7 各個(gè)版本的鏡像。
使用方法:
下面的命令將作為一個(gè)靜態(tài)頁(yè)面服務(wù)器啟動(dòng):
$ sudo docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
Dockerfile:
2.6 版本;最新 2.8 版本。
6.Nginx
基本信息:
Nginx 是開(kāi)源的高效的 Web 服務(wù)器實(shí)現(xiàn),支持 HTTP、HTTPS、SMTP、POP3、IMAP 等協(xié)議。 該倉(cāng)庫(kù)提供了 Nginx 1.0 ~ 1.7 各個(gè)版本的鏡像。
使用方法:
下面的命令將作為一個(gè)靜態(tài)頁(yè)面服務(wù)器啟動(dòng):
用戶也可以不使用這種映射方式,通過(guò)利用 Dockerfile 來(lái)直接將靜態(tài)頁(yè)面內(nèi)容放到鏡像中,內(nèi)容為:
FROM nginxCOPY static-html-directory /usr/share/nginx/html
之后生成新的鏡像,并啟動(dòng)一個(gè)容器:
$ sudo docker build -t some-content-nginx .$ sudo docker run --name some-nginx -d some-content-nginx
開(kāi)放端口,并映射到本地的 8080 端口:sudo docker run --name some-nginx -d -p 8080:80 some-content-nginx Nginx的默認(rèn)配置文件路徑為 /etc/nginx/nginx.conf ,可以通過(guò)映射它來(lái)使用本地的配置文件,例如:
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
使用配置文件時(shí),為了在容器中正常運(yùn)行,需要保持 daemon off。
Dockerfile:
1 ~ 1.7 版本。
基本信息:
WordPress 是開(kāi)源的 Blog 和內(nèi)容管理系統(tǒng)框架,它基于 PhP 和 MySQL。 該倉(cāng)庫(kù)提供了 WordPress 4.0版本的鏡像。
使用方法:
啟動(dòng)容器需要 MySQL 的支持,默認(rèn)端口為 80 :
$ sudo docker run --name some-wordpress --link some-mysql:mysql -d wordpress
啟動(dòng) WordPress 容器時(shí)可以指定的一些環(huán)境參數(shù)包括:
-e WORDPRESS_DB_USER=... 缺省為 “root”-e WORDPRESS_DB_PASSWORD=... 缺省為連接 mysql 容器的環(huán)境變量 MYSQL_ROOT_PASSWORD 的值-e WORDPRESS_DB_NAME=... 缺省為 “wordpress”-e WORDPRESS_AUTH_KEY=... , -e WORDPRESS_SECURE_AUTH_KEY=... , -eWORDPRESS_LOGGED_IN_KEY=... , -e WORDPRESS_NONCE_KEY=... , -e WORDPRESS_AUTH_SALT=... ,-e WORDPRESS_SECURE_AUTH_SALT=... , -e WORDPRESS_LOGGED_IN_SALT=... , -eWORDPRESS_NONCE_SALT=... 缺省為隨機(jī) sha1 串
Dockerfile:
4.0 版本 。
基本信息:
Node.js是基于 JavaScript 的可擴(kuò)展服務(wù)端和網(wǎng)絡(luò)軟件開(kāi)發(fā)平臺(tái)。 該倉(cāng)庫(kù)提供了 Node.js 0.8 ~ 0.11 各個(gè)版本的鏡像。
使用方法:
在項(xiàng)目中創(chuàng)建一個(gè) Dockerfile:
FROM node:0.10-onbuild# replace this with your application's default portEXPOSE 8888
然后創(chuàng)建鏡像,并啟動(dòng)容器:
$ sudo docker build -t my-nodejs-app$ sudo docker run -it --rm --name my-running-app my-nodejs-app
也可以直接運(yùn)行一個(gè)簡(jiǎn)單容器:
$ sudo docker run -it --rm --name my-running-script -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp node:0.10 node your
Dockerfile:
0.8 版本;0.10 版本。
以上就是常見(jiàn)的Docker倉(cāng)庫(kù)介紹,相信大家已經(jīng)有所了解,如果有朋友對(duì)Docker感興趣,可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Docker菜鳥教程,里面的內(nèi)容豐富,適合初學(xué)者學(xué)習(xí),希望對(duì)大家有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)