zoukankan      html  css  js  c++  java
  • docker学习(七)常见仓库介绍

    将介绍常见的一些仓库和镜像的功能,使用方法和生成它们的 Dockerfile 等。包括 Ubuntu、
    CentOS、MySQL、MongoDB、Redis、Nginx、Wordpress、Node.js 等。

    1.Ubuntu

    https://www.runoob.com/docker/docker-install-ubuntu.html
    基本信息
    Ubuntu 是流行的 Linux 发行版,其自带软件版本往往较新一些。 该仓库提供了 Ubuntu从12.04 ~ 14.10 各个版本的镜像。

    使用方法
    默认会启动一个最小化的 Ubuntu 环境。
    $ sudo docker run --name some-ubuntu -i -t ubuntu
    root@523c70904d54:/#

    2.CentOS

    https://www.runoob.com/docker/docker-install-centos.html
    基本信息
    CentOS 是流行的 Linux 发行版,其软件包大多跟 RedHat 系列保持一致。 该仓库提供了 CentOS 从 5 ~ 7各个版本的镜像。

    使用方法
    默认会启动一个最小化的 CentOS 环境。
    $ sudo docker run --name some-centos -i -t centos bash
    bash-4.2#

    3.MySQL
    基本信息
    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"

    4.MongoDB
    基本信息
    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:$

    5.Redis
    基本信息
    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_

    6.Nginx
    基本信息
    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 来直接将静态页面内容放到镜像中,内容为
    FROM nginx
    COPY 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;

    7.WordPress
    基本信息
    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=... , -e
    WORDPRESS_LOGGED_IN_KEY=... , -e WORDPRESS_NONCE_KEY=... , -e WORDPRESS_AUTH_SALT=... ,
    -e WORDPRESS_SECURE_AUTH_SALT=... , -e WORDPRESS_LOGGED_IN_SALT=... , -e
    WORDPRESS_NONCE_SALT=... 缺省为随机 sha1 串

    8.Node.js
    基本信息
    Node.js是基于 JavaScript 的可扩展服务端和网络软件开发平台。 该仓库提供了 Node.js 0.8 ~ 0.11 各个版本的镜像。
    使用方法
    在项目中创建一个 Dockerfile。
    FROM node:0.10-onbuild
    # replace this with your application's default port
    EXPOSE 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:

    详细操作 具体的以nginx为例:

    https://www.cnblogs.com/kaixinyufeng/p/9693623.html

    Docker 主站点: https://www.docker.io
    Docker 注册中心API: http://docs.docker.com/reference/api/registry_api/
    Docker Hub API: http://docs.docker.com/reference/api/docker-io_api/
    Docker 远端应用API: http://docs.docker.com/reference/api/docker_remote_api/
    Dockerfile 参考:https://docs.docker.com/reference/builder/
    Dockerfile 最佳实践:https://docs.docker.com/articles/dockerfile_best-practices/

  • 相关阅读:
    Android studio 克隆分支
    香蕉派 banana pi BPI-M3 八核开源硬件开发板
    Visual F# Power Tools 简单介绍
    win764bit系统plsqldeveloper11连接oracle11g64bit配置方法
    cocos2d-x 模态对话框的实现
    《AndroidStudio每日一贴》2.高速查看项目中近期的变更
    Android百日程序 开篇章:Intent打开网页
    Linux应用server搭建手冊—Weblogic服务域的创建与部署
    HDU 5623 KK's Number(DP)
    JAVA之堆内存和栈内存的差别
  • 原文地址:https://www.cnblogs.com/muxi0407/p/12024630.html
Copyright © 2011-2022 走看看