• linux安装docker以及可视化管理界面


    一、docker 安装

    1.0、准备

    确保yum是最新的

      yum update
    

    查看是否已安装docker列表

    yum list installed | grep docker
    

    1.1、安装依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2 
    

    1.2、设置阿里云镜像源

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
    

    1.3、安装 Docker-CE

    sudo yum install docker-ce
    

    1.4、报错

    --> Processing Conflict: 1:docker-ce-cli-18.09.6-3.el7.x86_64 conflicts docker
    --> Processing Conflict: 1:docker-ce-cli-18.09.6-3.el7.x86_64 conflicts docker-io
    --> Processing Conflict: 3:docker-ce-18.09.6-3.el7.x86_64 conflicts docker
    --> Processing Conflict: 3:docker-ce-18.09.6-3.el7.x86_64 conflicts docker-io
    --> Finished Dependency Resolution
    Error: docker-ce conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
    Error: docker-ce-cli conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    

    解决办法

    # 1、查看安装过的docker:
    yum list installed | grep docker
    docker.x86_64                           2:1.13.1-74.git6e3bb8e.el7.centos
    docker-client.x86_64                    2:1.13.1-74.git6e3bb8e.el7.centos
    docker-common.x86_64                    2:1.13.1-74.git6e3bb8e.el7.centos
    # 2、卸载docker:
    sudo yum remove -y docker-ce.x86_64 docker-client.x86_64 docker-common.x86_64
    # 3、删除容器镜像:
    sudo rm -rf /var/lib/docker
    # 4、 重新安装docker
    sudo yum install docker-ce
    

    1.5、启动docker

    # 开机自启
    sudo systemctl enable docker 
    # 启动docker服务  
    sudo systemctl start docker
    

    添加docker用户组(可选)

    # 1. 建立 Docker 用户组
    sudo groupadd docker
    # 2.添加当前用户到 docker 组
    sudo usermod -aG docker $USER
    

    1.6、镜像加速配置

    # 加速器地址 :
    # 阿里云控制台搜索容器镜像服务
    # 进入容器镜像服务, 左侧最下方容器镜像服务中复制加速器地址
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
        "registry-mirrors": ["https://aeckruos.mirror.aliyuncs.com"],
        "insecure-registries": ["192.168.6.129:5000"]
    }
    EOF
    # 重启docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    逗号不能漏。切记切记。。。。。每行是有一个,号作为分隔符。

    报错

    Job for docker.service failed because the control process exited with error code
    

    这个一般是由于 /etc/docker/daemon.json 里面配置有误。

    欢迎关注公众号"Java学习之道",查看更多干货!

    二、拉取镜像

    镜像拉取地址:https://hub.docker.com/search?q=&type=image

    # 下载镜像:docker pull <镜像名:tag>    如:下载centos镜像
    docker pull centos
    docker pull sameersbn/redmine:latest
    # 查看已下载镜像
    docker images
    # 删除容器
    docker rm <容器名 or ID>
    # 查看容器日志
    docker logs -f <容器名 or ID>
    # 查看正在运行的容器
    docker ps
    # 查看所有的容器,包括已经停止的。
    docker ps -a 
    # 删除所有容器
    docker rm $(docker ps -a -q)
    # 停止、启动、杀死指定容器
    docker start <容器名 or ID> # 启动容器
    docker stop <容器名 or ID> # 启动容器
    docker kill <容器名 or ID> # 杀死容器
    # 后台运行 docker run -d <Other Parameters>
    docker run -d -p 127.0.0.1:33301:22 centos6-ssh
    # 暴露端口: 一共有三种形式进行端口映射
    docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
    # 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
    docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
    # 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
    docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
    # 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
    # 映射数据卷
    docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
    

    三、GUI管理

    这里推荐使用 Portainer 作为容器的 GUI 管理方案。

    官方地址:https://portainer.io/install.html

    安装命令:

    docker volume create portainer_data
    
    docker run -d -p 10001:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
    

    解释:

    -d 参数以detach方式运行
    -p 将容器工作端口映射至物理机端口 HOST端口:容器端口
    -v 将容器目录挂载(映射)到物理机对应位置,这里指定通讯方式为sock
    portainer/portainer 为镜像名称
    

    访问你的 IP:10001 即可进入容器管理页面。

    进入页面后设置用户名和密码

    然后选择 local 或者remote, 一般部署在自己服务器, 使用单节点 local 即可。

  • 相关阅读:
    libcurl的内存泄露的坑
    Linux 经典面试题(转)
    全栈项目|小书架|服务器开发-Koa2 全局异常处理
    强大的CompletableFuture
    如何进行kubernetes问题的排障
    Golang的json包
    JAVA面试题:Spring中bean的生命周期(转)
    建造者模式
    Netty学习篇④-心跳机制及断线重连
    Fabric1.4:手动启动 first-network 网络(三)
  • 原文地址:https://www.cnblogs.com/mmzs/p/13036473.html
Copyright © 2020-2023  润新知