zoukankan      html  css  js  c++  java
  • docker快速入门

    一、安装docker
    以下演示在centos7下安装docker:

    ##不是最新版本
    yum install docker

    #最新版安装
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum install docker-ce

    查看是否安装成功:
    docker version/docker info

    docker服务启动停止:
    service docker start|stop|restart

    设置开启启动
    chkconfig docker on


    二、docker 安装tomcat服务并启动
    1.从官网搜索tomcat镜像
    docker search tomcat
    2.从官网拉取tomcat镜像(OFFICIAL标记为OK的代表docker官网)
    docker pull tomcat
    3.运行tomcat
    docker run -dit --name tomcat1 tomcat -p 8080:8080
    4.测试是否成功
    curl localhost:8080 或浏览器访问


    三、将本地images推送到 docker hub

    1.首先需要到docker官网注册docker hub的账号,创建仓库:mk-hub-docker

    2.给镜像hello-world打标签1657486787/mk-hub-docker:hw001
    docker tag hello-world 1657486787/mk-hub-docker:hw001

    3.登录官网的hub docker,输入用户名,密码
    docker login

    4.推送

    docker push 1657486787/mk-hub-docker:hw001

    四、搭建私有仓库registry

    docker search registry

    pull仓库
    docker pull registry

    启动私有仓库
    docker run -dit --name mk-reg -p 5000:5000 registry

    检查是否安装成功:
    curl localhost:5000/v2/_catalog

    输出:{"repositories":[]} 代表安装成功

    注意:私服默认只能使用https,需要配置开放http 。步骤

     1.新建daemon.json

    vi /etc/docker/daemon.json     内容如下:

    {
    "registry-mirrors":["https://registry.docker-cn.com"],
    "insecure-registries":["localhost:5000"]
    }

    2. 重启

    systemctl daemon-reload

    systemctl restart docker

    3.验证

    查询镜像:http://localhost:5000/v2/_catalog  

    查询hello版本: http://localhost:5000/v2/hello/tags/list

    注意:本地搭建的仓库没有设置用户密码。

    五、创建自己的镜像,以centos安装nginx为例

    1.先从官网拉取centos : docker pull centos

    2.创建一个centos容器名字为cent并进入该系统
    docker run -it --name cent centos /bin/bash
    3.cent容器内安装nginx

    rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum search nginx
    yum install -y nginx

    查看nginx 在哪
    whereis nginx

    容器启动nginx服务
    /usr/sbin/nginx

    4.ctrl+q+p 退出容器,在宿主机内校验nginx是否正常
    5.curl 172.17.0.3 (这个ip地址可以通过 docker inspect cent查看)


    6.使用commit服务为一个nginx镜像
    docker commit cent cent-ng:v1

    查看是否成功docker images


    7.启动nginx镜像 cent-ng:v1
    docker run -it --name ng cent-ng:v1 /bin/bash

    8.容器内启动nginx
    /usr/sbin/nginx

    9.ctrl+q+p 退出容器,在宿主机内校验nginx是否正常
    curl 47.107.146.57

    10.如果要再次进入cenos : docker exec -it 容器id /bin/bash


    注意:现在我们希望启动容器时,直接启动nginx服务,怎么做

    docker run -d --name nx2 cent-ng:v1 /usr/sbin/nginx -g "daemon off;"

      nginx -g这个参数是指可以在外面添加指令到nginx的配置文件中,

           daemon off是指nginx服务不运行在后端,而是在前台运行(container中的服务必须运行在前台)

     六、volume文件挂载

    1.启动容器data 并挂载

    docker run --name data -v /opt/data -it centos /bin/bash

    在宿主机查看data的信息Mounts挂载信息
    docker inspect data
      "Source": "/var/lib/docker/volumes/eb8316d6bc046cd87ba0ece94f5374a31adef805a1bfb97edfd314431d70c3dd/_data",
      "Destination": "/opt/data",
    Source代表宿主机的路径,Destination代表容器中的路径 ,他们两已经一一对应好了,也就是将容器/opt/data挂载到了宿主机

    2.备份/恢复数据卷

    备份:docker run --rm --volumes-from data -v $(pwd):/backup centos tar cvf /backup/data.tar /opt/data

    恢复:docker run --rm --volumes-from data -v $(pwd):/backup centos tar xvf /backup/data.tar -C /

    释义:

    docker  run --rm ----- 启动一个新的容器,执行完毕删除

    --volumes-from data ------- data容器中挂载卷

    -v $(pwd):/backup   --------挂载当前目录到容器中为backup

    cvf /backup/data.tar /opt/data --------- 备份/opt/data目录(即卷中所有的数据)为data.tar

    xvf /backup/data.tar -C /  ---------- 解压data.tar 到根目录/ ,因tar归档中已包含了/opt/data路径

    3.删除数据卷

    docker rm -v data

    七、DockerFile

    1.创建好名为Dockerfile的文件,内容如下:
    FROM centos
    #CMD echo "hello cmd"
    CMD ["/bin/bash", "-c", "echo 'hello cmd!'"]

    2.创建一个名为cmd的镜像
    docker build -t cmd /sgy/soft/docker/dockerfile/cmd

    3.使用该镜像运行一个容器
    docker run -it cmd

  • 相关阅读:
    记 · 佛系青年 · 嗯我百度了下
    【CSS】452- 浏览器解析 CSS 样式的过程
    记 · 平安夜 · 平安平安平安
    【Vuejs】451- Vue CLI 首屏优化技巧
    【网站发布】前端自习课
    【CSS】450- 温故而知我不懂的CSS
    【CSS】449- CSS第四级选择器
    RabbitDemo —— Topic
    RabbitDemo —— Fanout
    RabbitDemo —— Direct
  • 原文地址:https://www.cnblogs.com/lookupthesky/p/10470880.html
Copyright © 2011-2022 走看看