zoukankan      html  css  js  c++  java
  • cenos7.0 安装docker

    使用yum命令在线安装 

    yum install docker

    安装后查看Docker版本 docker -v
    启动docker:systemctl start docker
    停止docker:systemctl stop docker
    重启docker:systemctl restart docker
    查看docker状态:systemctl status docker
    开机启动:systemctl enable docker

    搜索镜像

    docker search 镜像名称
    命令拉取centos7:docker pull centos:7


    docker rmi $IMAGE_ID:删除指定镜像
    docker rmi `docker images -q`:删除所有镜像
    查看正在运行容器:
    docker ps
    查看所有的容器(启动过的历史容器):
    docker ps –a
    查看最后一次运行的容器:
    docker ps –l

    查看停止的容器:
    docker ps -f status=exited

    创建一个交互式容器并取名为mycentos
    docker run -it --name=mycentos centos:7 /bin/bash

    创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):
    docker run -di --name=mycentos2 centos:7
    登录守护式容器方式:
    docker exec -it container_name (或者 container_id)  /bin/bash(exit退出时,容器不会停止)
    停止正在运行的容器:docker stop $CONTAINER_NAME/ID
    启动已运行过的容器:docker start $CONTAINER_NAME/ID
    将文件拷贝到容器内可以使用cp命令
    docker cp 需要拷贝的文件或目录 容器名称:容器目录
    将文件从容器内拷贝出来
    docker cp 容器名称:容器目录 需要拷贝的文件或目录
    目录挂载
    创建容器 添加-v参数 后边为   宿主机目录:容器目录
    docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7
    多级的目录,可能会出现权限不足的提示。因为CentOS7中的安全模块selinux把权限禁掉了,需要添加参数  --privileged=true  来解决挂载的目录没有权限的问题
    查看容器IP地址
    docker inspect mycentos2
    删除指定的容器:

    docker rm $CONTAINER_ID/NAME
    只能删除停止的容器


    删除所有容器:docker rm `docker ps -a -q`


    MySQL部署


    拉取MySQL镜像
    docker pull mysql


    创建MySQL容器
    docker run -di --name my_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
    -p 代表端口映射,格式为  宿主机映射端口:容器运行端口
    -e 代表添加环境变量  MYSQL_ROOT_PASSWORD是root用户的登陆密码


    进入MySQL容器,登陆MySQL
    进入mysql容器
    docker exec -it my_mysql /bin/bash
    登陆mysql
    mysql -u root -p
    查看容器运行的各种数据
    docker inspect my_mysql

    Redis部署

    拉取Redis镜像

    docker pull redis

    创建Redis容器

     docker run -di --name=my_redis -p 6379:6379 redis

     客户端测试

    window版本redis测试

    redis-cli -h ip地址

    //下载镜像
    docker pull gogs/gogs
    // 创建容器
    docker run -d --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs

    http://192.168.25.135:3000

    MongoDB安装

    docker pull mongo:3.4.1

    #  启用认证

    docker run --name mongodb -p 27017:27017 -d  mongo:3.4.1 --auth

    //进入

    docker  exec -it $IMAGE_ID mongo admin

    // 创建一个 admin 管理员账号:

    > use admin
    switched to db admin
    > db.createUser({user:"admin",pwd:"password",roles:["root"]})
    Successfully added user: { "user" : "admin", "roles" : [ "root" ] }

    //退出进入后对 admin 进行身份认证:

    > db.auth("admin", "password")

    //创建 用户、密码和数据库:

    > use test1
    switched to db test1
    > db.createUser({user: "fly", pwd: "fly", roles: [{ role: "dbOwner", db: "test1" }]})   # 创建用户fly,设置密码fly,设置角色dbOwner

    //查看系统用户

    > use admin
    switched to db admin
    > db.system.users.find()  # 显示当前系统用户

    // 删除用户

    1.切换admin ,删除用户fly ,删除失败
    > use admin switched to db admin > db.dropUser("fly") false
    2.切换fly ,删除用户fly,删除成功 > use fly switched to db flowpp > db.dropUser("fly") true

    //切换数据库

    use app

    // 添加数据

    db.test.save({name:"123123"});

    远程连接的开启

    docker exec -it $IMAGE_ID /bin/bash

    注:如果出现

    OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown 这样的错误,是我们docker镜像中的/bin/bash文件并不存在,可能存在的是/bin/sh文件,使用

    docker exec -it $IMAGE_ID /bin/sh

    //更新源 apt-get update

    //安装 vim apt-get install vim

    //修改 mongo 配置文件 vim /etc/mongod.conf.orig

    // 将其中的 bindIp: 127.0.0.1 改为 bindIp: 0.0.0.0

     

    MongoDB role 类型

    • 数据库用户角色(Database User Roles)

        read:授予User只读数据的权限
        readWrite:授予User读写数据的权限

    • 数据库管理角色(Database Administration Roles):

        dbAdmin:在当前dB中执行管理操作
        dbOwner:在当前DB中执行任意操作
        userAdmin:在当前DB中管理User

    • 备份和还原角色(Backup and Restoration Roles):

        backup
        restore

    • 跨库角色(All-Database Roles):

        readAnyDatabase:授予在所有数据库上读取数据的权限
        readWriteAnyDatabase:授予在所有数据库上读写数据的权限
        userAdminAnyDatabase:授予在所有数据库上管理User的权限
        dbAdminAnyDatabase:授予管理所有数据库的权限

    • 集群管理角色(Cluster Administration Roles):

        clusterAdmin:授予管理集群的最高权限
        clusterManager:授予管理和监控集群的权限,A user with this role can access the config and local databases, which are used in sharding and replication, respectively.
        clusterMonitor:授予监控集群的权限,对监控工具具有readonly的权限
        hostManager:管理Server

  • 相关阅读:
    kali BEEF-XSS启动报错解决
    kali msfconsole启动报错解决
    unittest详解(三) 简单元素定位
    unittest详解(二) 断言
    unittest详解(一) unittest框架
    selenuim python环境安装
    Locust 脚本练习
    Locust 参数化
    Locust 设置断言
    9-04嵌套事务及事务分类
  • 原文地址:https://www.cnblogs.com/fly-book/p/10103403.html
Copyright © 2011-2022 走看看