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.配置国内镜像仓库(私服)

docker阿里云

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信息

bwapp docker安装 docker安装应用_java

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

https://hub.docker.com/

#拉取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

bwapp docker安装 docker安装应用_docker_02

9.docker安装redis

https://hub.docker.com/

#拉取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

bwapp docker安装 docker安装应用_bwapp docker安装_03

10.docker安装nacos

https://hub.docker.com/

#拉取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

bwapp docker安装 docker安装应用_git_04

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

bwapp docker安装 docker安装应用_git_05