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