码迷,mamicode.com
首页 > 其他好文 > 详细

Docker 入门

时间:2019-09-21 20:50:56      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:docke   start   要求   docker 入门   ali   rms   turn   var   vim   

docke基础

0. 基础概念

  • 容器是随时创建,随时删除的,轻量级,每次docker run 都会生成新的容器记录

1. 安装docker

# 删除旧版本的docker
yum remove docker*
# 指定docker-ce源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装
yum install -y docker-ce
# 启动docker
systemctl start docker
# 编辑配置文件 /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
    ]
}
# 测试hello-world
docker run -it hello-world

2. docker仓库

  • 使用官方的 registry 镜像来启动私有仓库。
  • 默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。
  • 可以通过 -v 参数来将镜像文件存放在本地的指定路径。

搭建私有 docker 仓库流程

# 1. 宿主机port:docker的port
# --privileged=true,docker容器的安全机制:设置特权级运行的容器
# --restart=always,仓库挂掉会重启
docker run --privileged=true --restart=always -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

# 2. 修改 /etc/docker/daemon.json
{
    # 镜像加速器
    "registry-mirrors": [
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
        ],
    # 本地仓库地址
    "insecure-registries":["172.16.44.142:5000"]
}

# 3. 修改docker的启动文件
vim /lib/systemd/system/docker.service
[Service]
EnvironmentFile=-/etc/docker/daemon.json
# 4. 修改了docker配置文件,重新加载docker
systemctl daemon-reload
# 5. 重启docker服务
systemctl restart docker
# 6. 修改名称,push镜像
docker tag redis-test 172.16.44.142:5000/redis
docker push 172.16.44.142:5000/redis
# 7. 查看
curl 172.16.44.142:5000/v2/_catalog

3. docker-compose

  • docker编排工具:swarms,docker-compose
  • yml/yaml 语法
# 安装docker-compose
pip install docker-compose
# yml可以用来做配置文件,后缀名:yml,yaml,数据类型string,int,list,dict...
vim docker-compose.yml
version: "3"            # 和docker版本相对应
services:
    web: 
        build: 
            context: .                      # 指定dockerfile文件目录
            dockerfile: "dockerfile文件"          # 指定dockerfile文件名
        ports:
        - "3000:5000
    redis:
        image: "redis"  # 镜像名称
:wq
# 启动
docker-compose up
# flask应用
from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello Flask'

if __name__ = '__main__':
    app.run('0.0.0.0', 5000)
  • yml文件语法
# dict类型,冒号、- 后面都必须有空格, 严格要求缩进
name: 'henry'
age: 19
addr:
- 'haidian'
- 'beijing'

4. 常用命令

# 删除 stoped 的容器
docker-compose rm
# 重新构建容器,自动调用当前目录 .yml文件
docker-compose build 
# 查看容器状态
docker-compose ps
# 查看 镜像
docker-compose images

Docker 入门

标签:docke   start   要求   docker 入门   ali   rms   turn   var   vim   

原文地址:https://www.cnblogs.com/henryw/p/11564423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!