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,重新打开就可以用了
-
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
注册用户-登录用户
image6.创建第一个项目
image imagegitlab怎么使用就不说了,网上很多,这里只是介绍怎么用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能够查看
- 放别在这两个文件夹下放不同的文件,根据输入不同用户/密码,访问到的可以看出是资源不一样的。
-
打开此电脑或浏览器:
image
ftp://129.204.207.127:21 -
分别输入:
用户1/密码1:myuser/mypass
image用户2/密码2:user/user
image