Docker热门镜像介绍

本章将介绍一些热门镜像的功能,使用方法等。包括 Ubuntu、CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。

CentOS

基本信息

CentOS 是流行的 Linux 发行版,其软件包大多跟 RedHat 系列保持一致。

该仓库位于 https://hub.docker.com/_/centos ,提供了 CentOS 从 5 ~ 7 各个版本的镜像。

使用方法

默认会启动一个最小化的 CentOS 环境。

  1. $ docker run --name centos -it centos bash
  2. bash-4.2#

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/centos 查看。

MongoDB

基本信息

MongoDB 是开源的 NoSQL 数据库实现。

该仓库位于 https://hub.docker.com/_/mongo/ ,提供了 MongoDB 2.x ~ 4.x 各个版本的镜像。

使用方法

默认会在 27017 端口启动数据库。

  1. $ docker run --name mongo -d mongo

使用其他应用连接到容器,可以用

  1. $ docker run --name some-app --link some-mongo:mongo -d application-that-uses-mongo

或者通过 mongo

  1. $ docker run -it --rm \
  2. --link some-mongo:mongo \
  3. mongo \
  4. sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/mongo 查看。

MySQL

基本信息

MySQL 是开源的关系数据库实现。

该仓库位于 https://hub.docker.com/_/mysql/ ,提供了 MySQL 5.5 ~ 8.x 各个版本的镜像。

使用方法

默认会在 3306 端口启动数据库。

  1. $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql

之后就可以使用其它应用来连接到该容器。

  1. $ docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql

或者通过 mysql 命令行连接。

  1. $ docker run -it --rm \
  2. --link some-mysql:mysql \
  3. mysql \
  4. sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/mysql 查看

Nginx

基本信息

Nginx 是开源的高效的 Web 服务器实现,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议。

该仓库位于 https://hub.docker.com/_/nginx/ ,提供了 Nginx 1.0 ~ 1.15.x 各个版本的镜像。

使用方法

下面的命令将作为一个静态页面服务器启动。

  1. $ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

用户也可以不使用这种映射方式,通过利用 Dockerfile 来直接将静态页面内容放到镜像中,内容为

  1. FROM nginx
  2. COPY static-html-directory /usr/share/nginx/html

之后生成新的镜像,并启动一个容器。

  1. $ docker build -t some-content-nginx .
  2. $ docker run --name some-nginx -d some-content-nginx

开放端口,并映射到本地的 8080 端口。

  1. $ docker run --name some-nginx -d -p 8080:80 some-content-nginx

Nginx的默认配置文件路径为 /etc/nginx/nginx.conf,可以通过映射它来使用本地的配置文件,例如

  1. $ docker run -d \
  2. --name some-nginx \
  3. -v /some/nginx.conf:/etc/nginx/nginx.conf:ro \
  4. nginx

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/nginx 查看。

Node.js

基本信息

Node.js 是基于 JavaScript 的可扩展服务端和网络软件开发平台。

该仓库位于 https://hub.docker.com/_/node/ ,提供了 Node.js 0.10 ~ 11.x 各个版本的镜像。

使用方法

在项目中创建一个 Dockerfile。

  1. FROM node:9
  2. # replace this with your application's default port
  3. EXPOSE 8888

然后创建镜像,并启动容器。

  1. $ docker build -t my-nodejs-app
  2. $ docker run -it --rm --name my-running-app my-nodejs-app

也可以直接运行一个简单容器。

  1. $ docker run -it --rm \
  2. --name my-running-script \
  3. # -v "$(pwd)":/usr/src/myapp \
  4. --mount type=bind,src=`$(pwd)`,target=/usr/src/myapp \
  5. -w /usr/src/myapp \
  6. node:9-alpine \
  7. node your-daemon-or-script.js

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/node 查看。

PHP

基本信息

PHP(Hypertext Preprocessor 超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML 中,尤其适合 web 开发。

该仓库位于 https://hub.docker.com/_/php/ ,提供了 PHP 5.x ~ 7.x 各个版本的镜像。

使用方法

下面的命令将运行一个已有的 PHP 脚本。

  1. $ docker run -it --rm -v "$PWD":/app -w /app php:alpine php your-script.php

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/php 查看。

Redis

基本信息

Redis 是开源的内存 Key-Value 数据库实现。

该仓库位于 https://hub.docker.com/_/redis/ ,提供了 Redis 3.x ~ 5.x 各个版本的镜像。

使用方法

默认会在 6379 端口启动数据库。

  1. $ docker run --name some-redis -d -p 6379:6379 redis

另外还可以启用 持久存储

  1. $ docker run --name some-redis -d -p 6379:6379 redis redis-server --appendonly yes

默认数据存储位置在 VOLUME/data。可以使用 --volumes-from some-volume-container-v /docker/host/dir:/data 将数据存放到本地。

使用其他应用连接到容器,可以用

  1. $ docker run --name some-app --link some-redis:redis -d application-that-uses-redis
  2. ```## [Ubuntu](https://hub.docker.com/_/ubuntu/)
  3. ### 基本信息
  4. [Ubuntu](https://en.wikipedia.org/wiki/Ubuntu) 是流行的 Linux 发行版,其自带软件版本往往较新一些。
  5. 该仓库位于 `https://hub.docker.com/_/ubuntu/` ,提供了 Ubuntu 从 12.04 ~ 18.04 各个版本的镜像。
  6. ### 使用方法
  7. 默认会启动一个最小化的 Ubuntu 环境。
  8. ```bash
  9. $ docker run --name some-ubuntu -it ubuntu:18.04
  10. root@523c70904d54:/#

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/ubuntu 查看。

WordPress

基本信息

WordPress 是开源的 Blog 和内容管理系统框架,它基于 PHP 和 MySQL。

该仓库位于 https://hub.docker.com/_/wordpress/ ,提供了 WordPress 4.x ~ 5.x 版本的镜像。

使用方法

启动容器需要 MySQL 的支持,默认端口为 80

  1. $ docker run --name some-wordpress --link some-mysql:mysql -d wordpress

启动 WordPress 容器时可以指定的一些环境变量包括:

  • WORDPRESS_DB_USER 缺省为 root
  • WORDPRESS_DB_PASSWORD 缺省为连接 mysql 容器的环境变量 MYSQL_ROOT_PASSWORD 的值
  • WORDPRESS_DB_NAME 缺省为 wordpress

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/wordpress 查看。

或者通过 redis-cli

  1. $ docker run -it --rm \
  2. --link some-redis:redis \
  3. redis \
  4. sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"'

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/redis 查看。

Ubuntu

基本信息

Ubuntu 是流行的 Linux 发行版,其自带软件版本往往较新一些。

该仓库位于 https://hub.docker.com/_/ubuntu/ ,提供了 Ubuntu 从 12.04 ~ 18.04 各个版本的镜像。

使用方法

默认会启动一个最小化的 Ubuntu 环境。

  1. $ docker run --name some-ubuntu -it ubuntu:18.04
  2. root@523c70904d54:/#

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/ubuntu 查看。

WordPress

基本信息

WordPress 是开源的 Blog 和内容管理系统框架,它基于 PHP 和 MySQL。

该仓库位于 https://hub.docker.com/_/wordpress/ ,提供了 WordPress 4.x ~ 5.x 版本的镜像。

使用方法

启动容器需要 MySQL 的支持,默认端口为 80

  1. $ docker run --name some-wordpress --link some-mysql:mysql -d wordpress

启动 WordPress 容器时可以指定的一些环境变量包括:

  • WORDPRESS_DB_USER 缺省为 root
  • WORDPRESS_DB_PASSWORD 缺省为连接 mysql 容器的环境变量 MYSQL_ROOT_PASSWORD 的值
  • WORDPRESS_DB_NAME 缺省为 wordpress

Dockerfile

请到 https://github.com/docker-library/docs/tree/master/wordpress 查看。

写于 2019年05月08日Docker 202

如非特别注明,文章皆为原创。

转载请注明出处: https://www.liayal.com/article/5cd27a7bc0ab13505eeefad6

记小栈小程序上线啦~搜索【记小栈】【点击扫码】体验

你不想说点啥么?
😀😃😄😁😆😅😂🤣☺️😊😇🙂🙃😉😌😍😘😗😙😚😋😜😝😛🤑🤗🤓😎🤡🤠😏😒😞😔😟😕🙁☹️😣😖😫😩😤😠😡😶😐😑😯😦😧😮😲😵😳😱😨😰😢😥🤤😭😓😪😴🙄🤔🤥😬🤐🤢🤧😷🤒🤕😈👿👹👺💩👻💀☠️👽👾🤖🎃😺😸😹😻😼😽🙀😿😾👐👐🏻👐🏼👐🏽👐🏾👐🏿🙌🙌🏻🙌🏼🙌🏽🙌🏾🙌🏿👏👏🏻👏🏼👏🏽👏🏾👏🏿🙏🙏🏻🙏🏼🙏🏽🙏🏾🙏🏿🤝👍👍🏻👍🏼👍🏽👍🏾👍🏿👎👎🏻👎🏼👎🏽👎🏾👎🏿👊👊🏻👊🏼👊🏽👊🏾👊🏿✊🏻✊🏼✊🏽✊🏾✊🏿

评论

~ 评论还没有,沙发可以有 O(∩_∩)O~