mirror of
https://github.com/yeasy/docker_practice.git
synced 2024-11-15 19:13:39 +00:00
commit
2fb8281127
@ -1,2 +1,3 @@
|
|||||||
# 热门镜像介绍
|
# 热门镜像介绍
|
||||||
本章将介绍一些热门镜像的功能,使用方法和生成它们的 Dockerfile 等。包括 Ubuntu、CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。
|
|
||||||
|
本章将介绍一些热门镜像的功能,使用方法等。包括 Ubuntu、CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
## [CentOS](https://hub.docker.com/_/centos/)
|
## [CentOS](https://store.docker.com/images/centos/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
|
|
||||||
[CentOS](https://en.wikipedia.org/wiki/CentOS) 是流行的 Linux 发行版,其软件包大多跟 RedHat 系列保持一致。
|
[CentOS](https://en.wikipedia.org/wiki/CentOS) 是流行的 Linux 发行版,其软件包大多跟 RedHat 系列保持一致。
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/centos/ ,提供了 CentOS 从 5 ~ 7 各个版本的镜像。
|
该仓库位于 https://store.docker.com/images/centos/ ,提供了 CentOS 从 5 ~ 7 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
默认会启动一个最小化的 CentOS 环境。
|
默认会启动一个最小化的 CentOS 环境。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-centos -i -t centos bash
|
$ docker run --name centos -it centos bash
|
||||||
bash-4.2#
|
bash-4.2#
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
## [MongoDB](https://hub.docker.com/_/mongo/)
|
## [MongoDB](https://store.docker.com/images/mongo/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
|
|
||||||
[MongoDB](https://en.wikipedia.org/wiki/MongoDB) 是开源的 NoSQL 数据库实现。
|
[MongoDB](https://en.wikipedia.org/wiki/MongoDB) 是开源的 NoSQL 数据库实现。
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/mongo/ ,提供了 MongoDB 2.x ~ 3.x 各个版本的镜像。
|
该仓库位于 https://store.docker.com/images/mongo/ ,提供了 MongoDB 2.x ~ 3.x 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
默认会在 `27017` 端口启动数据库。
|
默认会在 `27017` 端口启动数据库。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-mongo -d mongo
|
$ docker run --name mongo -d mongo
|
||||||
```
|
```
|
||||||
|
|
||||||
使用其他应用连接到容器,可以用
|
使用其他应用连接到容器,可以用
|
||||||
|
@ -1,21 +1,25 @@
|
|||||||
## [MySQL](https://hub.docker.com/_/mysql/)
|
## [MySQL](https://store.docker.com/images/mysql/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
|
|
||||||
[MySQL](https://en.wikipedia.org/wiki/MySQL) 是开源的关系数据库实现。
|
[MySQL](https://en.wikipedia.org/wiki/MySQL) 是开源的关系数据库实现。
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/mysql/ ,提供了 MySQL 各个版本的镜像,包括 5.6 系列、5.7 系列等。
|
该仓库位于 https://store.docker.com/images/mysql/ ,提供了 MySQL 5.5 ~ 8.x 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
默认会在 `3306` 端口启动数据库。
|
默认会在 `3306` 端口启动数据库。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
|
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
之后就可以使用其它应用来连接到该容器。
|
之后就可以使用其它应用来连接到该容器。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
|
$ docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
或者通过 `mysql`。
|
或者通过 `mysql`。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -1,28 +1,33 @@
|
|||||||
## [Nginx](https://hub.docker.com/_/nginx/)
|
## [Nginx](https://store.docker.com/images/nginx/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
|
|
||||||
[Nginx](https://en.wikipedia.org/wiki/Nginx) 是开源的高效的 Web 服务器实现,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议。
|
[Nginx](https://en.wikipedia.org/wiki/Nginx) 是开源的高效的 Web 服务器实现,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议。
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/nginx/ ,提供了 Nginx 1.0 ~ 1.11.x 各个版本的镜像。
|
该仓库位于 https://store.docker.com/images/nginx/ ,提供了 Nginx 1.0 ~ 1.13.x 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
下面的命令将作为一个静态页面服务器启动。
|
下面的命令将作为一个静态页面服务器启动。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
|
$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
用户也可以不使用这种映射方式,通过利用 Dockerfile 来直接将静态页面内容放到镜像中,内容为
|
用户也可以不使用这种映射方式,通过利用 Dockerfile 来直接将静态页面内容放到镜像中,内容为
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
FROM nginx
|
FROM nginx
|
||||||
COPY static-html-directory /usr/share/nginx/html
|
COPY static-html-directory /usr/share/nginx/html
|
||||||
```
|
```
|
||||||
|
|
||||||
之后生成新的镜像,并启动一个容器。
|
之后生成新的镜像,并启动一个容器。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker build -t some-content-nginx .
|
$ docker build -t some-content-nginx .
|
||||||
$ docker run --name some-nginx -d some-content-nginx
|
$ docker run --name some-nginx -d some-content-nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
开放端口,并映射到本地的 `8080` 端口。
|
开放端口,并映射到本地的 `8080` 端口。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -34,6 +39,7 @@ Nginx的默认配置文件路径为 `/etc/nginx/nginx.conf`,可以通过映射
|
|||||||
```bash
|
```bash
|
||||||
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
|
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
使用配置文件时,为了在容器中正常运行,需要保持 `daemon off;`。
|
使用配置文件时,为了在容器中正常运行,需要保持 `daemon off;`。
|
||||||
|
|
||||||
### Dockerfile
|
### Dockerfile
|
||||||
|
@ -1,18 +1,21 @@
|
|||||||
## [Node.js](https://hub.docker.com/_/node/)
|
## [Node.js](https://store.docker.com/images/node/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
[Node.js](https://en.wikipedia.org/wiki/Node.js)是基于 JavaScript 的可扩展服务端和网络软件开发平台。
|
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/node/ ,提供了 Node.js 0.10 ~ 6.3.x 各个版本的镜像。
|
[Node.js](https://en.wikipedia.org/wiki/Node.js) 是基于 JavaScript 的可扩展服务端和网络软件开发平台。
|
||||||
|
|
||||||
|
该仓库位于 https://store.docker.com/images/node/ ,提供了 Node.js 0.10 ~ 9.x 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
在项目中创建一个 Dockerfile。
|
在项目中创建一个 Dockerfile。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
FROM node:0.10-onbuild
|
FROM node:9
|
||||||
# replace this with your application's default port
|
# replace this with your application's default port
|
||||||
EXPOSE 8888
|
EXPOSE 8888
|
||||||
```
|
```
|
||||||
|
|
||||||
然后创建镜像,并启动容器。
|
然后创建镜像,并启动容器。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
## [Redis](https://hub.docker.com/_/redis/)
|
## [Redis](https://store.docker.com/images/redis/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
|
|
||||||
[Redis](https://en.wikipedia.org/wiki/Redis) 是开源的内存 Key-Value 数据库实现。
|
[Redis](https://en.wikipedia.org/wiki/Redis) 是开源的内存 Key-Value 数据库实现。
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/redis/ ,提供了 Redis 3.x 各个版本的镜像。
|
该仓库位于 https://store.docker.com/images/redis/ ,提供了 Redis 3.x ~ 4.x 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
默认会在 `6379` 端口启动数据库。
|
默认会在 `6379` 端口启动数据库。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-redis -d redis
|
$ docker run --name some-redis -d redis
|
||||||
```
|
```
|
||||||
|
|
||||||
另外还可以启用 [持久存储](http://redis.io/topics/persistence)。
|
另外还可以启用 [持久存储](http://redis.io/topics/persistence)。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -24,6 +27,7 @@ $ docker run --name some-redis -d redis redis-server --appendonly yes
|
|||||||
```bash
|
```bash
|
||||||
$ docker run --name some-app --link some-redis:redis -d application-that-uses-redis
|
$ docker run --name some-app --link some-redis:redis -d application-that-uses-redis
|
||||||
```
|
```
|
||||||
|
|
||||||
或者通过 `redis-cli`
|
或者通过 `redis-cli`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
## [Ubuntu](https://hub.docker.com/_/ubuntu/)
|
## [Ubuntu](https://store.docker.com/images/ubuntu/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
|
|
||||||
[Ubuntu](https://en.wikipedia.org/wiki/Ubuntu) 是流行的 Linux 发行版,其自带软件版本往往较新一些。
|
[Ubuntu](https://en.wikipedia.org/wiki/Ubuntu) 是流行的 Linux 发行版,其自带软件版本往往较新一些。
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/ubuntu/ ,提供了 Ubuntu 从 12.04 ~ 16.10 各个版本的镜像。
|
该仓库位于 https://store.docker.com/images/ubuntu/ ,提供了 Ubuntu 从 12.04 ~ 18.04 各个版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
默认会启动一个最小化的 Ubuntu 环境。
|
默认会启动一个最小化的 Ubuntu 环境。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-ubuntu -i -t ubuntu
|
$ docker run --name some-ubuntu -it ubuntu:17.10
|
||||||
root@523c70904d54:/#
|
root@523c70904d54:/#
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
## [WordPress](https://hub.docker.com/_/wordpress/)
|
## [WordPress](https://store.docker.com/images/wordpress/)
|
||||||
|
|
||||||
### 基本信息
|
### 基本信息
|
||||||
[WordPress](https://en.wikipedia.org/wiki/WordPress) 是开源的 Blog 和内容管理系统框架,它基于 PhP 和 MySQL。
|
|
||||||
|
|
||||||
该仓库位于 https://hub.docker.com/_/wordpress/ ,提供了 WordPress 4.x 版本的镜像。
|
[WordPress](https://en.wikipedia.org/wiki/WordPress) 是开源的 Blog 和内容管理系统框架,它基于 PHP 和 MySQL。
|
||||||
|
|
||||||
|
该仓库位于 https://store.docker.com/images/wordpress/ ,提供了 WordPress 4.x 版本的镜像。
|
||||||
|
|
||||||
### 使用方法
|
### 使用方法
|
||||||
|
|
||||||
启动容器需要 MySQL 的支持,默认端口为 `80`。
|
启动容器需要 MySQL 的支持,默认端口为 `80`。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --name some-wordpress --link some-mysql:mysql -d wordpress
|
$ docker run --name some-wordpress --link some-mysql:mysql -d wordpress
|
||||||
```
|
```
|
||||||
|
|
||||||
启动 WordPress 容器时可以指定的一些环境参数包括:
|
启动 WordPress 容器时可以指定的一些环境参数包括:
|
||||||
|
|
||||||
* `-e WORDPRESS_DB_USER=...` 缺省为 “root”
|
* `-e WORDPRESS_DB_USER=...` 缺省为 “root”
|
||||||
|
Loading…
Reference in New Issue
Block a user