docker安装及常用软件安装
- 0.注意
- 1.卸载自带的mysql
- 2.卸载旧版本docker
- 3.安装docker
- 4.服务相关命令 5种 systemctl开头
- 查看docker服务的状态
- 停止docker服务
- 启动docker服务 (重启)
- 开机自启动docker服务
- 取消开机自启动docker服务
- 5.配置国内镜像仓库(私服)
- 6.镜像操作
- 查看本地镜像
- 搜索远程镜像仓库
- 拉取下载远程镜像到本地镜像仓库
- 删除本地仓库的镜像
- 7.容器相关命令 种
- 查询所有
- 查询运行中的容器:
- 停止容器
- 重启容器
- 删除容器
- 8.docker 安装mysql5.7
- 9.docker安装redis
- 10.docker安装nacos
- 11.docker安装oracle
- 12.docker安装gitlab
- 参考文档
- 获取gitlab镜像包
- 在本机准备gitlab工作目录
- 运行脚本启动GitLab
- 修改gitlab.rb配置文件
- 进gitlab容器重启配置服务
- gitlab容器命令
- 再查看本机端口状态
- gitLab常用命令
- 5、打开GiltLab
- 13.docker安装RabbitMq
0.注意
# 查看ip方式一
ip addr
# 查看ip方式二 可能没有,执行命令安装 (sudo yum install net-tools)
ipconfig
# 下载wget命令
yum -y install wget
tomcat:8080 ,redis:6379,nginx:80 mysql:3306,等端口
firewall-cmd --zone=public --add-port=80/tcp --permanent 添加端口
firewall-cmd --reload 防火墙重新加载
firewall-cmd --zone=public --query-port=80/tcp 查询80端口是否开启
firewall-cmd --zone=public --list-ports 查询所有能够穿透防火墙的端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent 删除端口
可参考: https://www.runoob.com/docker/centos-docker-install.html
我这里是刚安装好的liunx系统,安装详见软件里的安装手册吧
1.卸载自带的mysql
#先检查centos中是否已经存在mysql或mariadb(2个命令)
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
#如果存在 (卸载)
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
2.卸载旧版本docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3.安装docker
# 更新一下yum
yum update
# yum相关的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置yum 告诉yum在哪下docker(官网,二选一)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 配置yum 告诉yum在哪下docker(阿里云镜像,二选一)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce 社区版(免费,官网用)
yum install -y docker-ce
# 安装docker-ce 社区版(免费,阿里用)
yum install docker-ce docker-ce-cli containerd.io
# -v version 查看版本,验证安装成功
docker -v
4.服务相关命令 5种 systemctl开头
查看docker服务的状态
systemctl status docker
停止docker服务
systemctl stop docker
注意使用: docker stop docker ps -aq
所有服务停止
启动docker服务 (重启)
systemctl restart docker
开机自启动docker服务
systemctl enable docker
取消开机自启动docker服务
systemctl disable docker
5.配置国内镜像仓库(私服)
cd /etc/docker/ 命令打开这个目录
ls 查看这个目录下所有的文件
我们可以看到没有 daemon.json ,接下来我们创建这个文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hU6HJbZ7-1610946605729)(.assets/image-20200726224701972-1606301621950.png)]
sudo mkdir -p /etc/docker 创建daemon.json文件
复制这个命令执行(一路回车即可)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://*****改成你自己的.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
添加了配置之后,为了使配置生效,需要输入命令:
(1)systemctl restart docker ----------------------此命令为重启docker
(2)docker info ---------------------此命令为查看docker信息
6.镜像操作
查看本地镜像
docker images
搜索远程镜像仓库
docker search redis
推荐通过官网直接搜索: 在docker 官网中查询镜像:https://hub.docker.com/
拉取下载远程镜像到本地镜像仓库
docker pull redis:4.0
redis:镜像的名称 冒号是英文的 : 4.0:此镜像的版本号
删除本地仓库的镜像
或者用镜像的id删除也行
docker rmi redis:4.0
7.容器相关命令 种
查询所有
(包含运行和没有运行的容器):docker ps -a
查询运行中的容器:
docker ps status 是 up的情况下
停止容器
docker stop redis1 redis2
重启容器
docker restart redis1 redis2
删除容器
docker rm redis1 redis2 redis3
8.docker 安装mysql5.7
#拉取mysql
docker pull mysql:5.7
#查看是否下载成功
docker images
#运行mysql并设置密码
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
#查看是否运行
docker ps
#设置mysql开机自启
sudo docker update mysql --restart=always
#停止mysql(也可以停止其他)
docker stop mysql
#删除mysql(也可以删除其他)
docker rm mysql
9.docker安装redis
#拉取redis
docker pull redis:6.0
#查看是否下载成功
docker images
#运行redis
docker run -d --name redis -p 6379:6379 redis:6.0
#查看是否运行
docker ps
#设置redis开机自启(也可不设置)
sudo docker update redis --restart=always
# 设置密码(也可不设置)
1.进入redis的容器 docker exec -it 容器ID bash
2.进入redis目录 cd /usr/local/bin
3.运行命令:redis-cli
4.查看现有的redis密码:config get requirepass
5.设置redis密码config set requirepass ****(****为你要设置的密码)
6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码
7.auth ****(****为你要设置的密码)
#停止redis(也可以停止其他)
docker stop redis
#删除redis(也可以删除其他)
docker rm redis
10.docker安装nacos
#拉取nacos
docker pull nacos/nacos-server:1.2.0
#查看是否下载成功
docker images
#运行nacos
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.2.0
#查看是否运行
docker ps
#设置nacos开机自启
sudo docker update nacos --restart=always
#停止nacos(也可以停止其他)
docker stop nacos
#删除nacos(也可以删除其他)
docker rm nacos
# 当然需要修改配置文件时
# 进入容器
docker exec -it nacos bash
# 修改容器配置
cd conf
# 编辑配置文件
vi application.properties
# 添加以下数据库信息
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=Jyr01236
11.docker安装oracle
#拉取docker 11g
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#创建容器
docker run -d -p 1521:1521 --name oracle_11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#启动容器
docker start oracle_11g
#进入容器终端
docker exec -it oracle_11g bash
#登录(bash: sqlplus: command not found)可以看到命令不可用,需要设置
sqlplus
#切换到root用户模式下
su - root(密码 helowin)
#标记profile并添置配置
vi /etc/profile
#复制一下内容到最后一行(按a获取i即可编辑)(先按Esc,然后 :wq 保存并退出)
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 /nolog
conn /as sysdba
#修改sys、system用户密码
alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
#使用navicat登陆
sid/服务名 helowin
system 密码 oracle
#如果报错 ora 12170 tns connect timeout occurred (关闭防火墙试试)
systemctl stop firewalld
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jbWUrMxt-1610946605762)(F:\oneMblog备份\oneMblog文章\linux.assets\image-20201226190726199.png)]
12.docker安装gitlab
参考文档
https://www.jianshu.com/p/0bc9b4755082
获取gitlab镜像包
# 这里的Community Edition (CE)表示社区标本(我用这个),
docker pull gitlab/gitlab-ce
在本机准备gitlab工作目录
# 创建config目录
mkdir -p /home/gitlab/config
# 创建logs目录
mkdir -p /home/gitlab/logs
# 创建data目录
mkdir -p /home/gitlab/data
运行脚本启动GitLab
# 注意修改ip,修改8e28c88b6a21
docker run --detach \
--hostname 123.56.31.132 \
--publish 7001:443 --publish 7002:80 --publish 7003:22 \
--name gitlab --restart always \
--volume /home/gitlab/config:/etc/gitlab \
--volume /home/gitlab/logs:/var/log/gitlab \
--volume /home/gitlab/data:/var/opt/gitlab 8e28c88b6a21
- 参数说明:
参数名称 | 参数说明 |
detach | 指定容器运行于前台还是后台 |
hostname | 指定主机地址,如果有域名可以指向域名 |
publish | 指定容器暴露的端口,左边的端口代表宿主机的端口,右边的是代表容器的端口 |
name | 给容器起一个名字, |
restart always | 总是重启 |
volume | 数据卷,在docker中是最重要的一个知识点. |
8e28c88b6a21 | 这个是docker容器里的gitlab的id/或者完整名字 |
修改gitlab.rb配置文件
- 按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)配置有三个参数如:
# vim /home/gitlab/config/gitlab.rb
# 在最后面加入一下三行,这里是ip,ssh_port
external_url 'http://123.56.31.132'
gitlab_rails['gitlab_ssh_host'] = '123.56.31.132'
gitlab_rails['gitlab_shell_ssh_port'] = 7003
注意事项:
external_url 和gitlab_rails
这两个ip参数建议固定操作系统的静态不变的IP或说是域名进行配置,假设IP变得的话在GitLab新建项目的时候,生成的IP还是原来的IP,此时就无法推送代码在Gitlab里面
进gitlab容器重启配置服务
由于我们运行是使用数据卷参数进行运行的,宿主机的gitlab.rb文件修改了,gitlab的文件会跟着改,但是容器的文件不会跟着生效,必须要进去容器里面进行命令执行,重置配置文件比较耗费时间,需要耐心等待,如果时间比较短说明成功率不高,而且进去容器之后就退出啦。
# 进去gitlab容器的命令
docker exec -it gitlab /bin/bash
# 重置gitlab客户端的命令
gitlab-ctl reconfigure
# 出现版本号就说明成功了 Starting Chef Infra Client, version 15.14.0
gitlab容器命令
- docker start gitlab 启动命令
- docker restart gitlab 重启命令
- docker stop gitlab 停止命令
再查看本机端口状态
netstat -tnl
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H7bNRxa4-1610946605764)(https://gitee.com/GiteeKey/mblog/raw/master/images/1608908694(1)].png)
gitLab常用命令
gitlab-ctl reconfigure // 重新应用gitlab的配置
gitlab-ctl restart // 重启gitlab服务
gitlab-ctl status // 查看gitlab运行状态
gitlab-ctl stop // 停止gitlab服务
gitlab-ctl tail // 查看gitlab运行日志
5、打开GiltLab
- 浏览器输入http://192.168.0.108:7002,如果出现了此界面无问题了,
由于gitlab安装之后需要重置密码
13.docker安装RabbitMq
# 搜索
docker search rabbitmq
# 下载(默认为最新版)
docker pull rabbitmq
# 运行rabbitMq
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
# 安装插件
# 1.先执行docker ps 拿到当前的镜像ID
docker ps
# 2.进入容器
docker exec -it 镜像ID /bin/bash
# 3.安装插件
rabbitmq-plugins enable rabbitmq_management
# 4.退出
exit
# 5.重启rabbitMq
docker restart rabbitMq的ID
# 在图形化界面点击 Exchanges 中的 Virtual host Name Type Features 点击Name报下面的错误
# 报错一:dock errabbitmq Management API returned status code 500 -
# 报错二:Stats in management UI are disabled on this node
# 解决 5cc8720805a5 用docker ps 查看id
docker exec -it 5cc8720805a5 /bin/bash
cd /etc/rabbitmq/conf.d/
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
# 重启 5cc8720805a5 用docker ps 查看id
docker restart 5cc8720805a5
浏览器访问:http://linuxIp:15672
用户名密码 guest