zoukankan      html  css  js  c++  java
  • Docker安装及容器创建

    1、Docker简介

    1.1、安装Docker

    1).设置存储库
    安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
     
    sudo yum install -y yum-utils
     
    sudo yum-config-manager 
        --add-repo 
        https://download.docker.com/linux/centos/docker-ce.repo	
     
    或者使用阿里云 源地址
    sudo yum-config-manager 
        --add-repo 
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    	
    (2).安装DOCKER引擎
    安装最新版本的Docker Engine和容器:
     
    sudo yum install docker-ce docker-ce-cli containerd.io
    

    1.2、查看Docker版本   

    #查看docker版本
    docker -v docker version

    1.3、Docker常用命令

    #启动docker
    systemctl start docker

    #查看Docker状态    
    systemctl status docker

    #重启docker
    sudo systemctl restart docker

    #停止docker
    sudo systemctl stop docker

    #设置开机自启动
    systemctl enable docker

    #查看所有镜像
    docker images

    #删除指定镜像
    docker rmi IMAGE_ID

    #查看所有已创建的镜像
    docker ps

    #启动某个容器
    docker start 容器名称

    #停止某个容器
    docker stop 容器名称

    #退出某个容器
    exit

    #删除某个容器
    docker rm 容器id

    1.4、卸载旧版docker

    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
     
    或者使用以下方法
     
    列出docker安装过的相关包:
    sudo yum list installed | grep docker
     
    删除相关安装包
    sudo yum -y remove docker-ce.x86_64
    sudo yum -y remove docker-ce-selinux.noarch
     
    删除相关的镜像与容器
    sudo rm -rf /var/lib/docker
     
    sudo yum remove docker  docker-common docker-selinux docker-engine
    

    1.5.docker run参数说明

    -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
     
    -d: 后台运行容器,并返回容器ID;
     
    -i: 以交互模式运行容器,通常与 -t 同时使用;
     
    -P: 随机端口映射,容器内部端口随机映射到主机的端口
     
    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
     
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
     
    --name="nginx-lb": 为容器指定一个名称;
     
    --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
     
    --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
     
    -h "mars": 指定容器的hostname;
     
    -e username="ritchie": 设置环境变量;
     
    --env-file=[]: 从指定文件读入环境变量;
     
    --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
     
    -m :设置容器使用内存最大值;
     
    --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
     
    --link=[]: 添加链接到另一个容器;
     
    --expose=[]: 开放一个端口或一组端口;
     
    --volume , -v:	绑定一个卷

    2、Docker获取portainer镜像,安装 portainer容器

    #查询镜像
    docker search portainer
    
    #拉取镜像
    docker pull portainer/portainer:latest
    
    #运行容器
    
    docker run -d  --name portainer  -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart always --privileged=true portainer/portainer
    
    #访问:
    通过浏览器输入http://ip:9000即可访问portainer
    

      

    3、Docker获取jenkins镜像,安装 jenkins容器

    #查询镜像
    docker search jenkins
    
    #拉取镜像
    docker pull jenkins/jenkins:lts
    
    #创建一个jenkins目录
    mkdir /home/jenkins_home
    
    #运行容器
    
    docker run  --name jenkins
    	 -u root
    	 -d
    	 -p 8061:8080
    	 -p 50000:50000
    	 -v /usr/bin/docker:/usr/bin/docker:Z 
    	 -v /var/run/docker.sock:/var/run/docker.sock:Z 
    	 -v /etc/sysconfig/docker:/etc/sysconfig/docker:Z 
    	 -v /opt/software/jdk1.8.0_201:/opt/software/jdk1.8.0_201:Z 
    	 -v /opt/software/apache-maven-3.6.3:/opt/software/apache-maven-3.6.3:Z 
    	 -v /opt/software/maven-repo:/opt/software/maven-repo:Z 
    	 -v /home/jenkins_home:/var/jenkins_home:Z   
    	 --restart=always  
    	 --privileged=true 
             jenkins/jenkins:lts
    
    #查看jenkins运行状态
    
    docker ps | grep jenkins
    
    #进入jenkins容器内部
    docker exec -it jenkins_01 bash
    
    #访问
    通过浏览器输入http://ip:8061即可访问jenkins

    4、Docker获取svn镜像,安装 svn容器

    #查询镜像
    docker search svn
    
    #拉取镜像
    docker pull garethflowers/svn-server:latest 
    
    
    #运行容器
    
    docker run --privileged=true  --restart always --name svn -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server 
    
    
    #查看jenkins运行状态
    
    docker ps | grep jenkins
    
    #进入容器内部
    docker exec -it svn /bin/sh
    
    #创建仓库
    svnadmin create project
    
    #查看svn位置
    /root/dockers/svn/project

    5、Docker获取tomcat镜像,安装 tomcat容器

    #查询镜像
    docker search tomcat
    
    #拉取镜像
    docker pull tomcat:7-jre7
    
    
    #运行容器
    
    docker run -di --name jenkins_tomcat -p 9000:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:7-jre7
    
    
    #进入容器内部
    docker exec -it jenkins_tomcat /bin/bash
    
    #将tomcat中webapps.dist复制到宿主机/usr/local/myhtml中并改名为webapps
    cd /usr/local/myhtml
    docker cp jenkins_tomcat:/usr/local/tomcat/webapps.dist webapps

    6、Docker获取mysql镜像,安装 mysql容器

    #查询镜像
    docker search mysql
    
    #拉取镜像
    docker pull mysql:5.7
    
    #运行容器
    docker run -d --name mysql57 
    -p 3306:3306 
    -v /home/mysql57/conf:/etc/mysql/mysql.conf.d  
    -v /home/mysql57/logs:/logs 
    -v /home/mysql57/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=dzp_dream  
    -e TZ=Asia/Shanghai 
    --restart always  
    mysql:5.7 
    --lower_case_table_names=1 
    --default-time_zone='+8:00'
    
    
    #进入容器内部
    docker exec -it mysql57 /bin/bash
    
    #登录mysql
    mysql -u root -p

    7、Docker获取nginx镜像,安装 nginx容器

    #查询镜像
    docker search nginx
    
    #拉取镜像
    docker pull nginx:latest
    
    #运行容器
    docker run -d --name newnginx 
    -p 80:80 
    -v /nginx/html:/usr/share/nginx/html:ro  
    -v  /nginx/conf/conf.d:/etc/nginx/conf.d  
    -v /nginx/logs:/var/log/nginx 
    nginx
    
    #进入容器内部
    docker exec -it newnginx /bin/bash
    

      

    8、Docker获取redis镜像,安装 redis容器

    #查询镜像
    docker search redis
    
    #拉取镜像
    docker pull redis:latest
    
    #创建redis容器,并设置密码
    docker run -d --name myredis -p 6379:6379 redis:latest --requirepass "dzp_dream"
    
    
    #进入容器内部
    docker exec -it myredis /bin/bash

    9、Docker获取zookeeper镜像,安装 zookeeper容器

    #查询镜像
    docker search zookeeper
    
    #拉取镜像
    docker pull docker.io/wurstmeister/zookeeper
    
    #创建redis容器,并设置密码
    docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
    
    
    #进入容器内部
    docker exec -it zookeeper /bin/bash
    

      

    10、Docker获取kafka镜像,安装 kafka 容器

    #查询镜像
    docker search kafka
    
    #拉取镜像
    docker pull docker.io/wurstmeister/kafka:2.12-2.1.0
    
    #创建容器
    docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.5:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.189.130:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka:2.12-2.1.0
    
    
    #进入容器内部
    docker exec -it kafka /bin/bash 

    11、Docker获取postgresql+postgis镜像,安装 postgresql+postgis容器

    #查询镜像
    docker search postgresql
    
    #拉取镜像
    docker pull kartoza/postgis:11.0-2.5
    
    #创建容器
    docker run -t --name postgresql --restart always  -e POSTGRES_USER='postgres' -e POSTGRES_PASSWORD=dzp_dream -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -d kartoza/postgis:11.0-2.5
    
    
    #进入容器内部
    docker exec -it postgresql /bin/bash

    12、Docker获取MinIO镜像,安装 MinIO容器

    #查询镜像
    docker search minio
    
    #拉取镜像
    docker pull minio/minio
    
    #创建容器
    docker run -d -p 9001:9000 --name minio 
    -e "MINIO_ACCESS_KEY=minio" 
    -e "MINIO_SECRET_KEY=dzp_dream" 
    -v /opt/app/cloud/minio/data:/data 
    -v /opt/app/cloud/minio/config:/root/.minio 
    minio/minio server /data
    
    #进入容器内部
    docker exec -it minio /bin/bash

    13、Docker获取gitlab镜像,安装 gitlab容器

    #查询镜像
    docker search gitlab
    
    #拉取镜像
    docker pull gitlab/gitlab-ce
    
    #创建容器
    docker run -d 
    -p 8443:443 
    -p 80:80 
    -p 222:22 
    --name gitlab 
    --restart always 
    --hostname  192.168.189.130 
    -v /home/gitlab/config:/etc/gitlab:Z  
    -v /home/gitlab/logs:/var/log/gitlab:Z  
    -v /home/gitlab/data:/var/opt/gitlab:Z 
    gitlab/gitlab-ce
    
    #进入容器内部
    docker exec -it gitlab /bin/bash
    

      

    14、Docker获取Nacos镜像,安装 Nacos容器

    #查询镜像
    docker search nacos/nacos-server
     
    #拉取镜像
    docker pull nacos/nacos-server
    
    #创建容器
    docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
    
    #进入容器内部
    docker exec -it nacos /bin/bash

    15、Docker获取elasticsearch镜像,安装 elasticsearch容器

    #查询镜像
    docker search elasticsearch
     
    #拉取镜像
    docker pull elasticsearch
    
    #创建容器
    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 docker.io/elasticsearch
    
    
    #进入容器内部
    docker exec -it elasticsearch /bin/bash
    

      

    16、Docker获取RabbitMQ镜像,安装 RabbitMQ容器

    #查询镜像
    docker search rabbitmq:management
     
    #拉取镜像
    docker pull rabbitmq:management
    
    #创建容器
    docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 docker.io/rabbitmq:management
    
    
    #进入容器内部
    docker exec -it rabbit /bin/bash

    17、Docker获取私有仓库registry镜像,安装 registry容器

    #查询镜像
    docker search registry 
     
    #拉取镜像
    docker pull registry 
    
    #创建容器
    docker run --name=registry -p 5000:5000 -di registry
    
    
    #进入容器内部
    docker exec -it registry /bin/bash
    
    #修改配置文件
     vim /etc/docker/daemon.json
    添加如下内容:
    {
    	"insecure-registries":["192.168.1.175:5000"]
    }
    
    #使其生效并重启docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    18、Docker获取Memcached镜像,安装 Memcached容器

    #查询镜像
    docker search memcached 
     
    #拉取镜像
    docker pull memcached
    
    #创建容器
    docker run -d --name mymemcache -p 11211:11211  memcached
    
    #Memcached相关操作
    telnet 127.0.0.1 11211
     
    set test 0 900 9
    memcached
    STORED
     
    get test 
    VALUE test 0 9
    memcached
     
    END
     
    quit

    19、Docker获取MongoDB镜像,安装MongoDB容器

    #查询镜像
    docker search mongo
     
    #拉取镜像
    docker pull mongo:latest
    
    #创建容器
    docker run -itd --name mymongo -p 27017:27017 mongo --auth
    
    #进入容器,并设置密码
    docker exec -it mymongo mongo admin
    # 创建一个名为 admin,密码为 123456 的用户。
    >  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
    # 尝试使用上面创建的用户信息进行连接。
    > db.auth('admin', '123456')
    

     

    20. 查看所有容器

    通过浏览器输入http://ip:9000即可访问portainer

  • 相关阅读:
    深圳移动 神州行(大众卡/轻松卡/幸福卡)套餐资费(含香港日套餐)信息及使用方法
    PHP设置时区,记录日志文件的方法
    微信公众平台消息接口使用指南
    C#日期时间格式化
    使用CMD实现批量重命名[转]
    Python高效编程技巧
    实用WordPress后台MySQL操作命令
    ubuntu-wine
    Javascript 笔记与总结(2-8)对象2
    Swift5.3 语言指南(十) 枚举
  • 原文地址:https://www.cnblogs.com/momoyan/p/14165950.html
Copyright © 2011-2022 走看看