• Docker使用


    • 安装Docker:
      查看你当前的内核版本:
      uname -r
      更新yum包:
      sudo yum update
      卸载旧版本(如果安装过旧版本的话):
      sudo yum remove docker  docker-common docker-selinux docker-engine
      安装需要的软件包:
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
      设置yum源:
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      查看所有仓库中所有docker版本:
      yum list docker-ce --showduplicates | sort -r
      安装docker:
      sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
      sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce
      启动并加入开机启动:
      sudo systemctl start docker
      sudo systemctl enable docker
      验证安装是否成功:
      docker version
      查看docker启动状态:
      systemctl status docker

    • 常用命令:
      docker ps #查找需要的服务
      docker logs -f 加上CONTAINER ID #查看相应的日志
      docker logs --since 30m CONTAINER_ID #查看最近30分钟日志
      docker ps -a  #查看所有容器 docker rm 容器id  #删除容器 docker images #查看镜像 docker rmi 镜像名称 #删除镜像 docker stop 容器ID或容器名 #停止容器 docker kill 容器ID或容器名 #直接关闭容器 docker restart 容器ID或容器名 #不管容器是否启动,直接重启容器 docker exec -it 容器ID /bin/bash #进入容器 exit #退出容器

    • Idea设置Docker远程插件
      • 没有插件就先安装docker插件。

      •  连接Docker。

      • 如果显示不成功,报异常如下:
      •  那么需要docker开启远程连接功能。
        vim /lib/systemd/system/docker.service    #编辑这个文件
        ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock   #修改内容
        systemctl daemon-reload  #重新启动docker
        systemctl restart docker
        
        

    • 通过命令使用Docker部署jar包:
      • 项目打成jar包,上传服务器,同级目录下建一个Dockerfile文件
        vi Dockerfile
        FROM java:8                           #拉取一个jdk为1.8的docker image
        MAINTAINER L                           #作者是L
        ADD app-0.0.1-SNAPSHOT.jar app.jar     #上传的jar包(app-0.0.1-SNAPSHOT.jar),替换为jar包的名称(容器中运行的是app.jar) 
        EXPOSE 8088 #jar包在容器中运行的端口号(项目启动的端口号)
        ENTRYPOINT ["java","-jar","app.jar"] #容器启动之后执行的命令:java -jar app.jar  即启动jar
      • 构建镜像:
        docker build -t appimage  .    # . 表示 Dockerfile 文件在当前目录下,appimage  是镜像名称
      • 运行容器:
        docker run -d --name app -p 8091:8088 appimage
        -d: 后台运行容器,并返回容器ID; --name appimage:appimage镜像名称; -p: 端口映射,格式为:主机(宿主)端口:容器端口。意思是第一个访问服务器的端口,第二个是项目端口;
        app: 容器名称

     


    • Docker安装Redis:
      • docker pull redis:latest  #拉取官方的最新版本的镜像
        docker images            #查看是否已安装了 redis
        docker run -itd --name redis-test -p 6379:6379 redis  #运行 redis 容器
        docker exec -it redis-test /bin/bash   #通过 redis-cli 连接测试使用 redis 服务

      • 1.从官网获取 redis.conf 配置文件
        2.修改默认配置文件
          bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
          protected-mode no #默认yes,开启保护模式,限制为本地访问
          daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
          dir  ./ #输入本地redis数据库存放文件夹(可选)
          appendonly yes #redis持久化(可选)
        
        3.docker 启动 redis 命令:
          列1:
        docker run
        -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
        列2:
        docker run -p 6379:6379 --name redis -v $PWD/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
        4.命令解释说明: -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。 --name myredis 指定该容器名称,查看和进行操作都比较方便。 -v 挂载目录,规则与端口映射相同。 -d redis 表示后台启动redis redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf appendonly yes 开启redis 持久化
          $PWD  当前目录
         

    • Docker安装Mysql:
      • docker pull mysql:latest       #拉取官方的最新版本的镜像
        docker images                  #查看是否已安装了 mysql
        docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql    #运行 mysql 容器
        -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
        MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
        docker ps                      #查看是否安装成功
      • Docker安装完Mysql后,Navicat连接不上的问题:
      1. 进入mysql客户端:docker exec  -it  mysql的容器名  /bin/bash
      2. 进入mysql命令行:mysql -u root -p123456   (123456就是mysql的登录密码,在docker run的时候设置的)
      3. 查看用户信息:select host,user,plugin,authentication_string from mysql.user; (mysql命令行中输入sql语句)
      4. 重新设置密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'  (newpassword就是新的密码) 
      5. 使用Navicat重新连接:成功。原文链接:https://blog.csdn.net/cainiaobulan/article/details/88389948

    • Docker清除日志:
      在使用docker的时候,我们经常通过
      docker logs -f containername或者id
      但是有时候日志很多。很麻烦。所以需要清理一下对应container的日志。
      默认情况下,daocker日志一般放在以下目录:
      /var/lib/docker/containers/
      然后找到对应的container,然后进去,通过echo “” > **.log 即可

      原文链接:https://blog.csdn.net/brotherdong90/article/details/79292534
       


  • 相关阅读:
    从代码书写理解指针,很重要
    指针参数 引用参数
    [转载]c/c++ 操作sqlite
    [转载]C#.NET DataTable扩展 ToList/Get/OrderBy/Where/ToPage
    [转载]宏定义
    【转载】scanf,sscanf高级用法
    C开发机顶盒实战应用代码片段
    指针精华口诀,短小精悍
    C# linq泛型 字典集合 排序
    c开发机顶盒实战应用代码片段2
  • 原文地址:https://www.cnblogs.com/LJing21/p/11803967.html
Copyright © 2020-2023  润新知