docker

#  (文档:https://docs.docker.com/engine/install/centos/)
1 安装 docker
  1.0 移除旧版本
    yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  1.1 安装依赖
    yum install -y yum-utils
    # device-mapper-persistent-data lvm2
  1.2 设置docker仓库(随便选择)
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  (阿里云镜像 速度比较快)
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo (官方镜像 速度慢)
  1.3 执行不知名命令
    yum-config-manager --enable docker-ce-nightly
    yum-config-manager --enable docker-ce-test
  1.4 安装docker 容器
    yum install docker-ce docker-ce-cli containerd.io
  1.5 启动docker
    systemctl start docker
  1.6 下载镜像速度慢,可以配置镜像加速器(百度即可)

2 常用命令
  docker pull centos  (下载镜像)    指定版本   docker pull redis:3.2
  docker rmi 删除镜像
  docker rm 容器1 删除容器 (docker rm `docker ps -a -q` 删除所有)
  
  创建运行交互式容器 (退出就停止)
  docker run -i -t --name 容器名字 镜像名 /bin/sh (例:docker run -i -t --name 容器1 centos /bin/sh)
  
  创建运行守护式容器 (退出不停止)
  docker run -d -i -t --name 容器2 centos /bin/sh
  
        --privileged=true 容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
        -v /tool/docker/redis/conf/redis.conf:/etc/redis/redis.conf 映射配置文件
        -v /tool/docker/redis/data:/data 映射数据目录
        redis-server /etc/redis/redis.conf 指定配置文件启动redis-server进程
        --appendonly yes 开启数据持久化
  
  登录到容器(-it == -i -t)
  docker exec -it 容器2 /bin/sh
  
  exit 退出容器
  docker stop 容器1 终止容器
  docker start 容器1 启动容器
  
  docker ps   查看正常运行的容器
  docker ps -a 查看历史容器 
  docker pa -l 查看最后运行的容器
  
  docker inspect 容器1 查看容器详细信息
  
  文件拷贝
  
  docker cp 1.txt 容器1:/root  centos -> 容器
  docker cp 容器1:/root/1.txt /root   容器 ->  centos
  
  docker images 查看本地镜像
  docker search redis 查看镜像
  
3 目录挂载
  docker run -itd --name c2 -v /opt:/usr/local/opt centos /bin/sh
  
4 镜像制作
   docker commit 容器名 新名字
   
5 镜像打包
   docker save -o /root/mytomcat.tar mytomcat 打包
   scp tomcat.tar ip:/root  将打包的镜像传到别的服务器
   docker load -i /root/mytomcat.tar  导入镜像到docker
   
6 Dockerfile创建镜像 (百度即可))
   1 创建Dockerfile文件
   2 FROM ... MAINTAINER .. RUN yum install -y pcre pcre-devel openssl openssl-devel gcc ....
   3 docker build -t 名字 --rm=true  (构建  指定名字  删除中间过程的文件)
   
7 镜像仓库
   1 docker hub
   2 阿里云
   3 本地私有
    3.0
        docker run -d -p 5000:5000 --restart=always --name registry -v /xx/registry:/var/list/registry registry:2  
        docker push 镜像名     (推送镜像)
        
    3.1配置私有仓库证书
        openssl req -x509 -days 3650 -subj '/CN=192.168.1.54:5000/' --nodes newkey rsa:2048 -keyout domain.key -out domain.crt
  

8 docker 集群 swarm
   1 指定管理节点  docker swarm init --advertise-addr 192.168.1.5
   2 查询管理节点的集群信息 docker node ls
   3 加入集群 docker swarm join --token SWMTKN-1-3wwctdfoh2nan0v2e4wdte3jn722vuwlxeyvke3bvb8ggb1lnj-a1ytbb4s9ia4drph1c5wh47e6 192.168.1.5:2377
    中间的token是动态的。所以不同的集群这个命令的token不一样  注意关闭防火墙
   4 发布服务
        docker service create -- replicas 1 --name helloworld alpine
   5 删除服务
        docker service rm 服务名字
   6 部署nginx
        1 创建一个orerlay网络
            docker network create -d=overlay myOverlay
        2 部署nginx
            docker service create --network myOverlay --name myNginx -p 8080:80 --replicas 1 nginx

9 compose 编排工具

10 可视化工具
    docker UI
    docker run -d -p 9000:9000 -- privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
    
    
    
    
mysql     :docker run -p 13306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26

redis    :docker run -p 6379:6379 --name redis -v /tool/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /tool/docker/redis/data/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

es        :docker run -p 9200:9200 -p 9300:9300 --name elasticsearch  -v /etc/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /etc/elasticsearch/data:/usr/share/elasticsearch/data -v /etc/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.5.0


rocketmqserver:docker run -d -p 9876:9876 -v /tool/docker/rocketmq/data/namesrv/logs:/root/logs -v /tool/docker/rocketmq/data/namesrv/store:/root/store --name rmqnameserver -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
rocketmqbroker:docker run -d -p 10911:10911 -p 10909:10909 -v  /tool/docker/rocketmq/data/broker/logs:/root/logs -v  /tool/docker/rocketmq/rocketmq/data/broker/store:/root/store -v  /tool/docker/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnameserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf
UI控制台      :docker run -d --name rmqui -e  "JAVA_OPTS=-Drocketmq.config.namesrvAddr=192.168.2.238:9876 -Drocketmq.config.isVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng     
    
kibana    :docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name xinyar-kibana -p 5601:5601 -v /data/elk/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.4.1

logstash:docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 -p 5044:5044 --name logstash -v /etc/logstash/conf/logstash.yml:/usr/share/logstash/config/logstash.yml -v /etc/logstash/config/:/usr/share/logstash/conf.d/ -v /etc/logstash/lib/mysql-connector-java-6.0.6.jar:/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-6.0.6.jar logstash:7.5.0
    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值