• docker使用


    为什么要使用docker:

      如果需要发布项目到多台机器,按照原来得方式,需要在N台服务器上进行下载安装对应得软件,执行N次相同得发布步骤,并且要进行环境兼容性得测试;一台linux上部署多个项目之间会有干扰,比如多个tomact端口不能重复,需要去改配置文件;docker是开源的应用容器引擎,可以让开发者将项目及依赖打包到成镜像,放入一个可移植的容器中

      

    虚拟化和docker的区别:

      一般的虚拟化指的是:服务器硬件系统安装操作系统,系统上安装虚拟化管理软件,安装虚拟机再进行虚拟化软件项目的安装

      docker:服务器硬件系统安装操作系统,安装docker引擎,进行虚拟化安装

      docker是直接使用操作系统的资源进行虚拟化, 可以达到秒级启动应用,对资源的利用率高,可以在一台服务器上部署多个docker容器,多个项目

    docker三大组件:

    容器、镜像、仓库

    容器是镜像的一个运行实例 ,如果说虚拟机是模拟运行的一整套操作系统和跑在上面的应用,那么docker容器就是独立运行的一个或一组应用,以及应用所必须的环境

    环境:centos7、jdk8、docker

    1.安装docker: yum install -y docker  

    yum命令的安装参考https://www.cnblogs.com/Shawn-Liu/p/11627759.html

    安装完后,docker version查看只有client,并提示Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    解决:开启docker服务 systemctl restart docker,再重新查看docker version正常

    2.下载镜像:以redis3.0为例

    https://hub.docker.com/docker仓库搜索redis,点击redis,选择tags,搜索需要的版本号,根据操作系统选择合适的

    3. 下载速度比较慢,可以使用加速器:(本次使用的是阿里云的加速器)

    找到镜像加速器,把下面的命令复制到命令行执行,

    如图 执行完重新拉去redis3.0镜像,明显速度加快

     4.镜像查看删除

    docker images --查看所有镜像

    docker rmi +IMAGE ID  或者 docker rmi +REPOSITORY:TAG   --删除对应的镜像

    5.创建启动、停止容器

    docker create -p 16380:6379 --name redis docker.io/redis:3.0    --创建容器--docker.io/redis:3.0 表示需要创建容器的镜像名

    docker ps -a 查看所有的容器(包括运行和未运行的)

    docker start  + CONTAINER ID   --启动容器

    启动完就可以连接redis了,redis-cli -h 192.168.138.134 -p 16380 -n root -a root

    创建并启动容器(包括create和start命令):docker run -d -p 16380:6379 --name redis docker.io/redis:3.0               --命令中的-d是表示后台运行

    停止容器:docker stop +容器名

    6.进入容器

    docker exec -it c1d91f507ebd bash    -- i表示用标准方式输出  t表示分配一个伪终端 bash:进入容器执行的命令

    进入容器之后就可以连接redis 设置redis数据,并在外部连接redis查看数据

    7.查看启动日志:docker logs -f c1d91f507ebd

    8.仓库:存镜像

       8.1将自己的镜像上传的阿里云私服仓库

    错误:

    [root@localhost heqs]# docker logs b5ab709e8422
    2020-08-02 06:45:28+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.31-1debian10 started.
    find: '/var/lib/mysql/': Permission denied
    chown: changing ownership of '/var/lib/mysql/': Permission denied

    没权限导致的加上--privileged=true 正常启动

    创建并启动容器,docker run -d  --name mysql4 -v /home/heqs/mysql3:/var/lib/mysql -p 13307:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true 8679ced16d20

    --privileged=true 给容器加上特定权限

    -v /home/heqs/mysql3:/var/lib/mysql    指定宿主机的文件与容器文件的对应

    9.dockerfile

      内容:基础镜像,编辑者信息、镜像操作指令,容器启动时执行的命令

  • 相关阅读:
    路由器漏洞调试的一些技巧
    路由器漏洞挖掘利用的一些基础知识
    windows 利用环境变量%PATH%中目录可写提权

    python super原理,不是指父类
    regexp盲注的一些改进
    阿里规范
    阿里规范
    工具类
    Timer 使用 (一)
  • 原文地址:https://www.cnblogs.com/hqsbrx/p/13424490.html
Copyright © 2020-2023  润新知