Docker极简教程

1.Registry介绍

注册表是镜像仓库,我们可以从镜像仓库中拉取一些镜像到本地,也可以提交镜像到仓库。

一些术语:

英语中文
主办宿主机
图片镜像
容器容器
注册处仓库
守护进程守护程序
客户客户端

与注册仓库的交互:

查找镜像

docker search whalesay

拖取镜像

docker pull whalesay

 

推送镜像

docker push myname/whalesay

国内的搬运工镜像仓库:

  1. daoclou

  2. 时速云

  3. 阿里云

2.Registry实战

1.查找镜像

 

STARS可以理解为点赞数,默认是按照这个排序的。

2.拉取镜像

3.查看镜像

可以看到,知识库是镜像名,TAG是默认的最新的,正常情况是版本号,这两个比较重要。

CREATED是创建时间,大小是占用空间的大小。

4.运行镜像

5.标记镜像

使用docker tag命令标记本地镜像,将其归入某一仓库。

docker tag docker/whalesay myhaleasy:tag

 

6.上传镜像

可以使用docker push命令上传本地镜像到仓库,但是需要注册登录。

注册登录地址:HTTPS://hub.docker.com

执行登录命令,输入用户名与密码即可。

docker login

 

上传镜像前还需要在多克官网个人中心创建该镜像。

3.Compose多容器应用

Compose是一个用户定义和运行多个容器的Docker应用程序。在Compose中你可以使用YAML文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。

docker-compose安装

1.Mac / Windows的:

安装搬运工的时候附带安装了。

2.Linux:

curl https://github.com/docker/compose

Linux的安装

执行命令

curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose

该命令会下载文件到(>)/ usr / local / bin / docker-compose,在下载地址中使用$(uname -s)是获取unmae -s命令的输出加到路径中。

下载完成后,可以设置该目录的权限为777,意为所有人都可以读写该目录,使用求最后  docker-compose --version 检查是否安装成功。

4.Compose搭建博客网站

接下来我们使用搬运工-撰写搭建一个含的nginx +鬼+分贝的博客网站。

1.准备

首先创建如下目录结构:

ghost
  - ghost
    - Dockfile
    - config.js
  - nginx
      - nginx.conf
      - Dockfile
  - data
  - docker-compose.yml

每个文件的具体内容有:

ghost/ghost/Dockfile

过时的配置(不使用)

FROM ghost
COPY ./config.js /var/lib/ghost/config.js
EXPOSE 2368
CMD ["npm","start","--production"]

最新版的官方镜像,把配置文件改到/ var / lib / ghost / content /,然后注释掉了CMD [“npm”,“start”,“ - production”]即可。

FROM ghost
COPY ./config.js /var/lib/ghost/content/ 
EXPOSE 2368

 

ghost/ghost/config.js

var path = require('path'),
    config;

config = {
    production: {
        url: 'http://mytestblog.com',
        mail: {},
        database: {
            client: 'mysql',
            connection: {
                host: 'db',
                user: 'ghost',
                password: 'ghost',
                database: 'ghost',
                port: '3306',
                charset: 'utf8'
            },
            debug: false
        },
        paths: {
            contentPath: path.join(process.env.GHOST_CONTENT, '/')
        },
        server: {
            host: '0.0.0.0',
            port: '2368'
        }
    }
};

module.exports = config;

 

ghost/nginx/Dockerfile

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

 

ghost/nginx/nginx.conf

worker_processes 4;
events {worker_connections 1024;}
http {
    server {
        listen 80;
        location / {
            proxy_pass http://ghost-app:2368;
        }
    }
}

 

ghost/docker-compose.yml

version: '2'

networks:
  ghost:
services:
  ghost-app:
    build: ghost
    networks:
      - ghost
    depends_on:
      - db
    ports:
      - "2368:2368"

  nginx:
    build: nginx
    networks:
      - ghost
    depends_on:
      - ghost-app
    ports:
      - "80:80"

  db:
    image: "mysql:5.7.15"
    networks:
      - ghost
    environment:
      MYSQL_ROOT_PASSWORD: mysqlroot
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghost
    volumes:
      - $PWD/data:/var/lib/mysql
    ports:
      - "3306:3306"

此处数据库相关的配置要和config.js中的配置(用户名,密码)保持一致。

一旦我们为一个服务指定了一个名字(分贝),它就可以被其它服务所解析。

nginx中proxy_pass设置成http:// ghost-app:2368也是因为在docker-compose.yml指定了服务是ghost-app。

2.启动

将所有容器启动,并以守护进程的方式后台运行。第一次不需要建立,因为会自动创建镜像。

docke-compose up -d

3.查看应用

docker-compose ps

因为文件内容输入有误,导致启动未成功,修改文件后还需要停止,删除掉容器再重新构建才行。

4.停止(+)

停止所有容器

docker-compose stop

5.删除(+)

删除时需要输入ÿ手动确认

docker-compose rm

6.构建(+)

非首次运行就需要手动创建镜像了

docker-compose build

最后,在鬼目录下再次启动!

7.测试

访问域名进入搭建的博客网站,可以注册账号发布博客。

 

关于鬼的使用这里不做过多介绍。

5.docker-compose.yml常用命令

命令用途
建立本地创建镜像
命令覆盖缺省命令
依赖于取决于连接容器
港口暴露端口
图片拉镜像
向上启动服务
停止服务
R M删除服务中的各个容器
日志观察各个容器的日志
PS列出服务相关的容器

6.Docker资源链接

泊坞窗官方英文资源

泊坞窗官网:

http://www.docker.com

泊坞窗中文资源

码头工人中文网站:

https://www.docker-cn.com/


泊坞窗安装手册:

https://docs.docker-cn.com/engine/installation/

Docker国内镜像

网易加速器:

http://hub-mirror.c.163.com


官方中国加速器:

https://registry.docker-cn.com


中科大的镜像:

https://docker.mirrors.ustc.edu.cn


daocloud:

https://www.daocloud.io/mirror#accelerator-doc(注册后使用)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值