zoukankan      html  css  js  c++  java
  • docker安装及常用命令

    一、仓库、镜像、容器

    官方docker hub

    官方:https://hub.docker.com/explore/

    常用docker 国内镜像源:

    网易镜像中心:http://hub-mirror.c.163.com

    阿里镜像中心:https://dev.aliyun.com

    Docker 官方中国区:https://registry.docker-cn.com

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

    daocloud:https://hub.daocloud.io/

    docker国内免费加速器:

    daocloud:https://***(自己注册的私有账号).m.daocloud.io

    aliyun:https://***(自己注册的私有账号).mirror.aliyuncs.com

    修改方法

      • 直接设置 –registry-mirror 参数,仅对当前的命令有效 
        docker run hello-world --registry-mirror=https://docker.mirrors.ustc.edu.cn
      • 修改 /etc/default/docker,加入 DOCKER_OPTS=”镜像地址”,可以有多个 
        DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"
      • 支持 systemctl 的系统,通过 sudo systemctl edit docker.service,会生成 /etc/systemd/system/docker.service.d/override.conf 覆盖默认的参数,在该文件中加入如下内容: 
        [Service] 
        ExecStart= 
        ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://docker.mirrors.ustc.edu.cn
      • 新版的 Docker 推荐使用 json 配置文件的方式,默认为 /etc/docker/daemon.json,非默认路径需要修改 dockerd 的 –config-file,在该文件中加入如下内容: 

        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
        }

     二、Docker安装步骤

    以下以ubuntu18.04 安装为例:

    1.首先更新资源update

    sudo apt-get  update

    2.安装docker

    sudo apt-get install  docker

    sudo apt-get install  docker.io

    sudo apt-get install  docker-registry

    3.停止、启动、重启docker

     sudo systemctl start | stop | restart docker.service

    4. 查看docker版本

    sudo docker version

    5.加入开机自启

    sudo systemctl enable docker

    6.运行hello-world镜像来测试是否安装成功 
    docker run hello-world         #本地没有镜像时会自动从docker hub中下载

    三、docker创建常见容器

    1.创建nginx 容器:

    sudo docker run -d -p 80:80 hub.c.163.com/library/nginx      #镜像地址可以登录163镜像源进行查找

    2.创建mysql 容器:

    sudo docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest

    3.创建tomcat容器:

    sudo docker pull hub.c.163.com/library/tomcat:latest

    4.通过ubutnu18.04镜像创建一个容器:

    sudo docker create ubuntu:18.04     #从默认镜像地址进行查找

    4.开始运行容器,并进入镜像的bash终端

    sudo docker run -i -t ubuntu:18.04 /bin/bash

    四、在docker中部署JAVA应用

    1. 查看当前镜像
    ~$ sudo docker images
    REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
    hello-world                    latest              2cb0d9787c4d        7 weeks ago         1.85kB
    hub.c.163.com/library/tomcat   latest              72d2be374029        12 months ago       292MB
    hub.c.163.com/library/nginx    latest              46102226f2fd        16 months ago       109MB
    hub.c.163.com/library/mysql    latest              9e64176cd8a2        16 months ago       407MB

    2. 创建Dockfile

    文件内容如下:(wordpress.war 是待部署的war包)

    from hub.c.163.com/library/tomcat
    
    MAINTAINER jeff xxxxxxx@163.com
    
    COPY workpress.war /usr/local/tomcat/webapps

    创建从当前目录读取Dockerfile文件,创建一个名字为wordpress,tag为latest的镜像:

    ~$ sudo docker build -t wordpress:latest .

    查看创建结果:

    ~$ sudo docker images
    REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
    wordpress                         latest              157b922155fb        5 hours ago         313MB
    hello-world                    latest              2cb0d9787c4d        7 weeks ago         1.85kB
    hub.c.163.com/library/tomcat   latest              72d2be374029        12 months ago       292MB
    hub.c.163.com/library/nginx    latest              46102226f2fd        16 months ago       109MB
    hub.c.163.com/library/mysql    latest              9e64176cd8a2        16 months ago       407MB

    3.运行容wordpress java应用

    
    
    ~$ sudo docker run -d -p 8080:8080 wordpress

    查看所有正在运行的容器:

    ~$ sudo docker ps
    CONTAINER ID        IMAGE                                COMMAND                  CREATED             STATUS              PORTS                    NAMES
    d585c289bd07        wordpress                               "catalina.sh run"        4 hours ago         Up 6 seconds        0.0.0.0:80->8080/tcp     quizzical_williams
    b759ed79b2cc        hub.c.163.com/library/mysql:latest   "docker-entrypoint.s…"   4 hours ago         Up 15 seconds       0.0.0.0:3307->3306/tcp   happy_poitras
    429e193db808        hub.c.163.com/library/nginx          "nginx -g 'daemon of…"   7 hours ago         Up 10 seconds       0.0.0.0:32768->80/tcp    elastic_noyce

    4.测试访问

    http://localhost:8080/wordpress


    五、其他常用命令

     docker ps 查看当前正在运行的容器

     docker ps -a 查看所有容器的状态

     docker start/stop id/name 启动/停止某个容器

     docker images 查看本地镜像

     docker rm id/name 删除某个容器

     docker rmi id/name 删除某个镜像

     docker build -t soar/centos:7.1 .  通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像

     docker run -d -p 2222:22 --name test soar/centos:7.1  以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,使用小写p参数做端口映射到宿主机2222端口,而大写P参数重启容器宿主机端口会发生改变 

  • 相关阅读:
    大航海计划
    副业刚需
    【转】iOS学习之适配iOS10
    【原】iOS学习之Masonry第三方约束
    【原】iOS学习之PINCache第三方缓存框架
    【原】iOS学习之苹果原生代码实现Autolayout和VFL语言
    【原】iOS学习之NSDate在项目中的一些类目扩展
    【原】iOS学习之tableView的常见BUG
    【转】iOS开发 -- Apple Pay
    【原】iOS学习之事件处理的原理
  • 原文地址:https://www.cnblogs.com/doraman/p/9570891.html
Copyright © 2011-2022 走看看