• docker指令汇总


    1.docker

    1.1 docker核心概念

    docker主机(Host):安装了docker程序的机器。docker直接安装再操作系统上。
    docker客户端(Client):连接docker主机进行操作。
    docker仓库(Registry):软件打包好的镜像;放在docker仓库中;
    docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用。

    1.2 安装docker (ubnutu 18)

    这种安装方式首先要保证Ubuntu服务器能够访问Docker仓库地址:https://download.docker.com/linux/ubuntu,如果能够访问,按照下面的操作步骤进行安装。
    $ sudo apt update
    $ sudo apt install apt-transport-https ca-certificates curl software-properties-common
    在/etc/apt/sources.list.d/docker.list文件中添加下面内容
    deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
    添加秘钥
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    安装docker-ce
    $ sudo apt install docker-ce
    查看是否安装成功:
    $ docker --version
    Docker version 18.03.0-ce, build 0520e24

    1.3 docker常用操作

    1.3.1 docker 启动 停止 重启操作

    启动         systemctl start docker
    重启docker   systemctl restart  docker
    关闭docker   systemctl stop docker

    1.3.2 docker镜像操作

    操作命令说明
    检索 docker serach 关键字 eg:docker search redis 我们经常去docker上检索镜像详细信息,如镜像的TAG.
    拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
    列表 docker images 查看所有本的镜像
    删除 docker rmi image-id 删除制定的本地镜像

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

    1.3.3 docker容器操作

    操作命令说明
    运行 docker run -name container -name -d image-name eg: docker run -name myredis -d redis -name: 自定义容器名 -d:后台运行 image-name:指定镜像模板
    列表 docker ps(查看运行中的容器) 加上-a 可以查看所有容器
    停止 docker stop container-name/container-id  
    启动 docker start container-name/container-id  
    删除 docker rm container-id  
    端口映射 -p 6379:6379 eg:docker run -d -p 6379:6379 -name myredis docker.io/redis -p: 主机端口(映射到)容器内部的端口
    容器日志 docker logs container-name/container-id  
    更多命令 https://docs.docker.com/engine/reference/commandline/docker/  

    1.4 docker安装应用

    1.4.1 安装msql

    查看mysql > docker search mysql  
    下载mysql > docker pull mysql
    查看已经下载的镜像 > docker images
    启动mysql加上端口映射
    >docker run -p 3306:3306 --name brian_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    停止myswl > docker stop contioner-id
    mysql的一些高级操作:https://hub.docker.com/_/mysql/

    1.4.2安装oracle

    启动
    docker run --name brian_oracle -d -p 1522:22 -p 1521:1521 ee3351d51185
    docker run brian_oracle -d 

    1.4.3 gitlab安装

    docker安装gitlab-----
    docker run --name brian_gitlab -d -p 10010:80 -p 2222:22 -p 8433:433 991cd608c116 
    ​
    angular 与gitlab实现 ci/cd-----
    https://juejin.im/post/5bc3e8e66fb9a05ce37b1fd8

    1.4.3.1 runner 安装

    1.https://blog.csdn.net/frankcheng5143/article/details/79838414
    2.runner 负责编译  到指定路径下,然后用nginx跑前端代码
    更改nginx默认端口,ubuntu更改nginx端口号
    ==>https://blog.csdn.net/w20101310/article/details/78835668
    3.runner 权限不足的问题-----
    gitlab runner默认运行时user mode,想提升权限,只需要运行gitlab runner 的时候使用sudo即可。
    ==> sudo gitlab-runner stop /start

    1.4.3.2 docker容器中 gitlab 修改HTTP连接方式中的IP和端口

    https://blog.csdn.net/xiaoxiangzi520/article/details/81145180
    ​
    我这边是配置的域名

    1.4.4 构建自己的镜像

    1、将jar包上传linux服务器/usr/local/dockerapp目录,在jar包所在目录创建名为Dockerfile的文件
    
    2、在Dockerfile中添加以下内容
    
     ###指定java8环境镜像   
     FROM java:8   
     ###复制文件到容器app-springboot   
     ADD   docker-jrx-0.0.1.war  /jrxappserver-0.0.1-SNAPSHOT.war
     ###声明启动端口号   
     EXPOSE 8080   
     ###配置容器启动后执行的命令   
     ENTRYPOINT   ["java","-jar","/jrxappserver-0.0.1-SNAPSHOT.war"]    

    1.4.5 使用docker build命令构建镜像

    docker build -t docker-jrx-0.0.1 .
    
    # 格式: docker build -t 镜像名称:标签 Dockerfile的相对位置
    
    docker run -d -p 8080:8080 docker-jrx-0.0.1 .

    1.4.6 进入docker容器

    docker exec -ti 容器ID /bin/bash

    1.4.7 push镜像到dockerhub

    push前需要打tag标签,我中hub仓库为dockerszhuangl1991
    docker tag imageid dockerszhuangl1991/serviceName:0.0.1

    1.4.8 docker-compose-file ,env-file

    https://docs.docker.com/compose/compose-file/
    
    https://docs.docker.com/compose/env-file/

    1.4.9 .jenkins push代码后构建

    1.配置push代码后构建 (主要是配置WebHooks 设置)
    https://blog.csdn.net/guanshulixiao/article/details/76174731
    
    2.build 前端angular (依赖node环境) 配置node环境
    https://www.jianshu.com/p/0a865a321d78
        
    3. build 后端springboot springclod
    使用maven打包项目,项目配置找到构建,下拉找到调用顶层Maven目标,目标这个选项就是要打包的指令 (test,package,install....)
    
    4. build docker 镜像
    5. 自动push 镜像到 docker hub

    1.4.10 腾讯云 centos7 安装docker

    安装
    1.使用root权限登陆系统。
    2.更新系统包到最新。
    # yum -y update
    
    3.执行Docker安装脚本
    # curl -sSL https://get.docker.com/ | sh
    # yum install -y docker-selinux
    
    这个脚本会添加docker.repo 配置并安装Docker。
    4.启动Docker
    # systemctl start docker.service

    1.4.11  redis主备搭建

    主机的 redis 命令行:SLAVEOF 主机IP 主机port

    1.4.12 zk集群搭建

    https://www.jianshu.com/p/98bb69256cc3

    1.4.13  elk - logstashh同步MySQL数据

    1. docker cp 拷贝 ***.conf 到/usr/local/sql/aaa.conf 文件夹下
    2. vim 到 config/pipelines.yml 添加
    - pipeline.id: table1
      path.config: "/usr/local/sql/aaa.conf"
    3. 重启ELK项目 logstash每一分钟同步一次
  • 相关阅读:
    C++编程练习(3)----“实现简单的栈的顺序存储结构“
    C++编程练习(2)----“实现简单的线性表的链式存储结构“
    C++编程练习(1)----“实现简单的线性表的顺序存储结构“
    Django--登录实例
    Django--model模型绑定_数据库操作
    Django--初始化
    web框架--MVC、MTV
    CSS--箭头
    CSS--抽屉(dig.chouti.com)页面
    jQuery--加一行减一行
  • 原文地址:https://www.cnblogs.com/hlkawa/p/9742015.html
Copyright © 2020-2023  润新知