Docker安装常用软件(中篇)

目录:

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

你可能感兴趣的:(Docker安装常用软件(中篇))