• Docker安装和基本使用


    Docker安装和基本使用

    官网:https://www.docker.com/

    文档:https://docs.docker.com/

    仓库:https://hub.docker.com/

    Docker的基本组成

    镜像(image):相当于一个模板,通过这个模板来创建容器服务

    容器(container):Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建

    仓库(repository):存放镜像的地方,Docker hub 类似于Maven仓库,国内需要配置镜像加速

    安装

    #先卸载旧版本的docker
    yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
                      
    #Install using the repository(通过仓库安装)
    #安装yum工具
    yum install -y yum-utils
    #设置镜像仓库
    yum-config-manager 
        --add-repo 
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	#使用阿里云的镜像
    #更新yum索引
    yum makecache fast
    #安装docker
    yum install docker-ce docker-ce-cli containerd.io
    
    #启动docker及测试
    systemctl start docker
    docker run hello-world
    docker version	#查看版本
    
    #	/var/lib/docker	docker的默认工作路径
    

    阿里云容器镜像服务

    地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

    1. 安装/升级Docker客户端

    推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce

    2. 配置镜像加速器

    针对Docker客户端版本大于 1.10.0 的用户

    您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://nw5osvoi.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    Docker的常用命令

    基本命令:https://docs.docker.com/engine/reference/commandline/docker/

    镜像命令
    docker images	#查看镜像
    docker images -a	#查看所有镜像
    docker images -q	#查看镜像id
    
    docker search mysql	#搜索镜像
    
    docker pull mysql	#下载镜像,默认下载最新版本
    docker pull mysql:5.7	#指定下载版本
    
    docker rmi -f ef08065b0a30	#根据id删除镜像
    docker rmi -f $(docker images -aq)	#删除所有镜像
    
    容器命令
    #先准备一个centos镜像
    docker pull centos
    
    docker run centos	#初始化容器
    docker run -it centos /bin/bash	#启动并进入容器
    exit	#退出容器
    docker ps	#正在运行的容器
    docker ps -a	#所有运行过的容器 
    docker ps -n=3	#最近运行过的n个容器
    
    ctrl + p + q	#退出但不停止容器
    
    docker rm -f id	#删除容器
    docker rm -f $(docker ps -aq)	#删除所有容器
    
    docker start id	#启动容器
    docker restart id	#重启容器
    docker stop id	#停止容器
    docker kill id	#强制停止容器
    
    docker run -d centos	#后台启动
    
    docker logs -tf -tail number 容器id	#查看日志
    docker top 容器id	#容器内的进程信息
    docker inspect 容器id	#容器信息
    
    docker exec -it 79e73008fec3 /bin/bash	#进入正在运行的容器(在新的终端上)
    docker attach 79e73008fec3	#进入正在运行的容器(在已有的终端上)
    
    docker cp e1cc2f3118f1:/home/a.java /home	#从容器中复制到主机
    

    测试

    nginx
    #-d 后台运行,--name 为容器命名为nginx01,-p 映射端口从本机的3344到容器的80
    docker run -d --name nginx01 -p 3344:80 nginx
    #测试访问
    curl localhost:3344
    docker stop bbc74ec441db	#停止后则无法访问
    
    tomcat
    docker run -d --name tomcat01 -p 9000:8080 tomcat
    #测试访问
    curl localhost:9000	#404,因为镜像中下载的默认是最小镜像,剔除了一部分的东西,只保证了最小可运行环境
    #进入容器
    docker exec -it tomcat01 /bin/bash
    cd webapps.dist/	#在webapps.dist目录下可以看到默认的引导页
    cp webapps.dist/* webapps/	#复制到webapp中,就可以访问到正常页面了
    
    es
    #为es分配最大最小内存空间
    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.8.0
    curl localhost:9200
    
    可视化面板portainer
    docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
    1cc96e59f8cfb6b565e2f3151eb0f5c796c8ae3919e175a4070907688ac2a722
    

    访问http://ip:9000即可

    镜像操作

    docker commit	#提交
    docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[TAG]
    docker commit -m="add webapps" -a="pinked" f6bebabec110 myTomcat:1.0
    
  • 相关阅读:
    ASIHTTPRequest类库简介和使用说明
    UIDatePickerView实现时间滚动轮播效果
    UIPickerView选择控件实现选择轮播效果(转轮效果)
    懒加载三大优势
    UIView的自适应高度 (图像,文字)
    正则表达式校验yyyymmdd
    Java时间日期格式转换 转自:http://www.cnblogs.com/edwardlauxh/archive/2010/03/21/1918615.html
    java.sql.SQLException: ORA-00911: 无效字符 解决方法 引自: http://blog.csdn.net/yangzhijun_cau/article/details/6064956
    跨域访问
    maven + eclipse + tomcat热部署 引自:http://jingpin.jikexueyuan.com/article/23068.html
  • 原文地址:https://www.cnblogs.com/pinked/p/13697023.html
Copyright © 2020-2023  润新知