美文网首页【收集】Docker实战集锦
容器(20)--Docker安装常用软件(中篇)

容器(20)--Docker安装常用软件(中篇)

作者: Explorer_z | 来源:发表于2020-03-25 18:59 被阅读0次

    目录:

    image

    新增:9.Docker安装 FTP

    6.Docker安装 zookeeper

    zookeeper部署

    mkdir -p ~/dockerdata/zookeeper/conf ~/dockerdata/zookeeper/data
    
    

    单节点的安装,跟上述安装redis步骤相同,我们回忆一下:

    docker search zookeeper
    docker pull zookeeper:latest
    cd ~/dockerdata/zookeeper
    docker run -p 2181:2181 -v $PWD/data:/data  -d zookeeper:latest
    
    

    进入容器

    docker exec -it 44b43e486817 /bin/bash
    
    

    7.Docker安装 oracle_11g

    docker search oracle
    
    

    拉取镜像:

    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
    
    

    创建容器:

    docker run -d -p 1521:1521 --name oracle11g registry.aliyuncs.com/helowin/oracle_11g
    
    

    启动容器:

    docker start oracle11g
    
    

    进入控制台设置用户信息:

    docker exec -it oracle11g bash
    
    

    进入到控制台之后,登录sqlplus有可能发现无法找到sqlplus命名(bash:sqlplus commend to found))

    解决办法:

    # 切换到root用户
    su root
    # 输入密码:helowin
    # 编辑profile文件配置ORACLE环境变量
    vi /etc/profile
    
    

    在文件最后添加如下命令

    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    export ORACLE_SID=helowin
    export PATH=ORACLE_HOME/bin:PATH
    
    

    软件连接-输入命令

    ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
    
    

    切换至oracle用户

    su - oracle
    
    

    登录sqlplus并修改sys、system用户密码

    sqlplus /nolog
    
    conn /as sysdba
    
    

    接着执行下面命令

        alter user system identified by system;
        alter user sys identified by sys;
        # 修改密码 如果报错继续往下走
        ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
        # 也可以创建用户 
        create user test identified by test; 
        # 并给用户赋予权限  
        grant connect,resource,dba to test;
        # 退出
        SQL>exit
    
    

    当执行修改密码的时候出现 :database not open
    输入:

    alter database open;
    alter user system identified by root;
    alter database mount;
    alter database open;
    
    

    再次修改密码:

    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
    
    

    便可使用sqlplus

    1.配置oreacle

    默认scott用户是被锁定的,我们需要解锁,通过数据库工具即可成功连接到oracle

    2.连接到容器

    docker exec -it oracle11g /bin/bash
    
    

    3.切换到oracle用户,然后连接到sql控制台

    [root@7f53f07c93e5 /]# su - oracle
    Last login: Wed Apr 17 08:29:31 UTC 2019
    [oracle@7f53f07c93e5 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 17 09:29:49 2019
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL>
    
    

    4.解锁账户

    SQL> alter user scott account unlock;
    User altered.
    SQL> commit;
    Commit complete.
    SQL> conn scott/tiger
    ERROR:
    ORA-28001: the password has expired
    Changing password for scott
    New password:
    Retype new password:
    Password changed
    Connected.
    SQL> 
    
    

    5.使用PLSQL Developer连接oracle数据库

    数据库安装完成后,使用默认的sid为orcl,端口为1521,scott/tiger即可连接

    打开pl/sql 进行登录 :提示监听程序当前无法识别连接描述符中请求的服务

    找到oracle安装路径:搜索 tnsnames.ora

    添加如下配置,(请更改成自己的文件配置 -ip)

    docker_oracle11 =
     (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
       )
       (CONNECT_DATA =
         (SERVICE_NAME = orcl)
       )
    )
    
    
    image image

    这时我们需要去看一下oracle 的 lsnrctl 服务

    image

    看到这两个了么,任选其一,修改 tnsnames.ora的 service_name=helowinXDB

    docker_oracle11 =
     (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
       )
       (CONNECT_DATA =
         (SERVICE_NAME = helowinXDB)
       )
    )
    
    

    保存,

    安装pl/sql 好后,双击打开,不要登录会进入默认页面

    点击工具(tools)在点击第一个首选项

    image

    填写...\oci.dll填写到下方。(两个位置一致)

    image

    点击左下保存,然后关闭pl/sql,重新打开就可以用了

    1. Navicat连接

    Navicat连的所以故此添加这一步
    打开Navicat后(navicat12不用配置oci.dll文件了)
    直接新建连接;

    8.Docker安装 gitlab

    1.gitlab镜像拉取

    后面不填写版本则默认pull最新latest版本

    $ docker pull gitlab/gitlab-ce
    
    

    2.运行gitlab镜像

    创建映射路径:

    mkdir -p ~/dockerdata/gitlab/config ~/dockerdata/gitlab/logs ~/dockerdata/gitlab/data
    
    

    运行容器:

    $ docker run -d  -p 8443:443 -p 80:80 -p 2222:22 --name gitlab --restart always -v ~/dockerdata/gitlab/config:/etc/gitlab -v ~/dockerdata/gitlab/logs:/var/log/gitlab -v ~/dockerdata/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
    
    

    命令说明:
    -d:后台运行
    -p:将容器内部端口向外映射
    --name:命名容器名称
    -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

    运行成功后出现一串字符串

    Id0d0asda0sdh2j34dhd3334h38djssh8882123123n1
    
    

    运行成功。

    3.配置

    进入配置文件 gitlab.rb

    docker exec -t -i gitlab vim /etc/gitlab/gitlab.rb
    
    

    3.1 配置外部访问URL:必须配置,否则默认以容器的主机名作为URL

    修改文件gitlab.rb

    # 配置http协议所使用的访问地址,不加端口号默认为80
    external_url "http://129.102.125.26"
    # # 配置ssh协议所使用的访问地址和端口
    gitlab_rails['gitlab_ssh_host'] = '129.102.125.26'
    # 此端口是run时22端口映射的222端口
    gitlab_rails['gitlab_shell_ssh_port'] = 2222
    
    

    :wq #保存配置文件并退出

    4.重启gitlab

    docker restart gitlab
    
    

    项目的仓库地址改变了,如果ssh端口地址不是默认的22,就会加上ssh:// 协议头

    5.登录gitlab

    打开浏览器输入ip地址:129.102.125.26 (因为我的gitlab端口为80,所以浏览器url不用输入端口号 ,如果端口号不是80,则打开为:ip:端口号)

    说明:输入地址可能会发现找不到页面,原因:后台启动容器需要一定时间,稍等一会再次访问就好了(大概等1-5分钟)

    设置密码root:第一次进入要输入新的root用户密码,设置好之后确定就行

    比如:aaa123456

    注册用户-登录用户

    image

    6.创建第一个项目

    image image

    gitlab怎么使用就不说了,网上很多,这里只是介绍怎么用docker安装和配置gitlab;

    9.docker安装 FTP

    Step 1.把镜像pull到本地

    #寻找vsftpd的镜像
    docker search vsftpd
    
    #假如我们找到一个最多引用的,叫fauria/vsftpd,#把镜像pull到本地
    docker pull fauria/vsftpd
    
    

    Step 2.创建映射绑定地址:

    (随遍创建,记住一会在创建容器的时候要用到)

    mkdir -p ~/dockerdata/ftp/ftpfile
    
    

    Step 3.创建名称为vsftpd的容器

    docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 -v ~/dockerdata/ftp/ftpfile:/home/vsftpd -e FTP_USER=myuser -e FTP_PASS=mypass -e PASV_ADDRESS=129.204.207.127 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
    
    
    • -p进行端口绑定映射

    • -v进行文件目录的映射 FTP_UESR 和FTP_PASS如果设定了会在container里面的/etc/vsftpd/virtual_users.txt

    • PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围

    • PASV_ADDRESS指的的宿主机地址

    Step 4.进入容器:修改、完善vsftpd的设置

    # 1、我们先进入container里面
    docker exec -i -t vsftpd bash 
    
    # 2、修改并生成虚拟用户模式下的用户db文件
    vi /etc/vsftpd/virtual_users.txt 
    # 2.1编辑配置文件写入用户/密码 user/user
    user
    user
    
    # 3、假如我们添加了user用户
    mkdir /home/vsftpd/user #建立新用户文件夹,同时映射到本地ftpfile文件夹下,只有user用户可以访问
    
    # 4、把登录的验证信息写入数据库
    usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
    
    

    Step 5.重启container,验证结果

    # 退出vsftpd容器
    exit 
    # 重启vsftpd容器
    docker restart vsftpd
    
    
    • 进入映射地址,放置文件

      [root@VM_0_6_centos ~]# cd ~/dockerdata/ftp/ftpfile
      [root@VM_0_6_centos ftpfile]# ls
      myuser  user
      [root@VM_0_6_centos ftpfile]# cd user 
      [root@VM_0_6_centos user]# ls
      头像.jpg
      [root@VM_0_6_centos user]# cd ../
      [root@VM_0_6_centos ftpfile]# cd myuser
      [root@VM_0_6_centos myuser]# ls
      QQ图片20190613151906.png
      
      
      • myuser文件夹 对应的用户是myuser,别的用户不能查看
      • user文件夹 对应的用户是user,只有user能够查看
      • 放别在这两个文件夹下放不同的文件,根据输入不同用户/密码,访问到的可以看出是资源不一样的。
    • 打开此电脑或浏览器:
      ftp://129.204.207.127:21

      image
    • 分别输入:

    用户1/密码1:myuser/mypass

    image

    用户2/密码2:user/user

    image

    作者:我是李小胖
    链接:https://www.jianshu.com/p/37a5da60f586
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

        本文标题:容器(20)--Docker安装常用软件(中篇)

        本文链接:https://www.haomeiwen.com/subject/gfnpchtx.html