Docker入门笔记 - 在centos7中安装nexus3

前言

此笔记假设前提:

  • 已成功安装docker环境(我的是window10,装的Docker For Windows)
  • 已配置国内镜像加速,若未配置,可参考
    阿里云镜像加速配置
  • 如果你是想直接下载一个nexus的镜像来完成nexus的安装,下面的内容可能不适合
我作为一个刚入门docker的菜鸟,先从一个docker使用场景的实例来学习。
这里,我以使用docker在centos:7安装nexus为例来说明

开始

目标

使用docker安装获取一个centos镜像,并安装nexus-3

1. 搜索镜像仓库是否有此镜像(search)

主要使用docker的search命令来完成

这里你可能需要查看docker serach 官方说明来了解search的详细使用

# 我这里以搜索官方的centos镜像为例
docker search centos -f "is-official=true"
# -f,--filter:过滤条件	

2.下载镜像(pull image)

# 1.下载镜像
# 此处以版本为7的centos镜像为例
docker pull centos:7
# 冒号表示指定版本,不加则获取latest(最新的版本)

# 2. 验证
# 查看本地镜像
docker images
# 注意看“IMAGE ID”列,一会启动时要用

在这里插入图片描述

3. 启动容器(run container)

docker run -dit --name=nexus-server -p 8090:8081 -v "G:/docker_share":/mnt/local 5e35e350aded /bin/bash
# ## 上述命令解释 ##
# --name [name] : 给容器起一个简单好记且易识别的名字,一来方便识别,二来操作容器时不用记住容器ID
# -d, --detach :在后台开启进程
# -i, --interactive : 保持进程打开
# -t, --tty : 提供交互命令支持
# -p [我的端口号]:[虚拟机端口号],此参数可重复,用于指定多个端口映射
# -v 映射宿主机共享,前面是宿主机要共享的路径,后面是docker容器内对应的路径
# 5e35e350aded:镜像ID,也可用镜像名称。如果本地没有,会到镜像仓库下载
# /bin/bash,我还不知道干嘛
# 执行成功后,会返回生成的容器ID。如果有其它提示,可能是指令中有问题

# 验证是否启动
docker ps
# 或者
docker container ps

在这里插入图片描述
这里主要看“CONTAINER ID”和“NAMES”列,分别叫做容器编号和容器名称

4. 进入容器

这里使用exec方式,以下示例3中方法或小技巧
# 1.使用容器ID方式
docker exec -it 5e35e350aded /bin/bash

# 2.使用容器ID方式(偷懒)
# 只是用ID的前缀,需要注意是否有多个容器ID前缀相同的情况
docker exec -it 5e /bin/bash

# 3.使用容器名称
docker exec -it nexus-server /bin/bash

# 参数解释:同run

进入容器后示例如下,和真实的centos几乎一样,只是没有预装那么多软件工具
在这里插入图片描述

5.下载nexus 3

下载 nexus最新版下载 https://www.sonatype.com/download-oss-sonatype

可能是墙的原因,nexus的下载链接打不开了,我这里是从网上找的一个:
阿里云安装nexus失败经历附nexus3.18.1安装包

6. 安装nexus 3

  1. 因为nexus 3依赖jdk 8,此处我直接使用yum安装(yum install java-1.8.0-openjdk),不在此骜述
  2. 将下载文件移到run命令中设置共享的宿主机目录:“G:/docker_share”
  3. 此时在容器的目录就可看到:在这里插入图片描述
  4. 解压文件可得到一个程序目录和nexus的工作初始目录
tar -zxvf nexus-3.18.1-01-unix.tar.gz

在这里插入图片描述
5. 将解压出来的文件移到/usr/local/目录(可根据自己习惯放,但不建议放在共享的目录)
在这里插入图片描述
6. 因为nexus是免编译安装的,所以到此为止安装的准备工作就完成了
7. 重点来了,启动nexus
进入“nexus-3.18.1-01/bin/”目录,执行启动脚本

./nexus start

# 查看运行状态
./nexus status

# 如果不想每次执行nexus命令到到nexus的目录里,可在/usr/bin创建一个快捷方式
ln -s /usr/local/nexus-3.18.1-01/bin/nexus /usr/bin/nexus
  1. 最后(查看默认密码)
    在sonatype-work/nexus3/目录如果看到admin.password文件

     可使用cat命令查看默认密码
     在首次登陆nexus界面时会提示修改,修改后此文件自动删除
    

    如果没有此文件,可使用admin123试试

7. 登陆nexus 3可视化界面并管理你的nexus吧

在浏览器打开http://localhost:8092/,如果显示404或无反应
有可能是系统反应比较慢,可稍等一会 (最长不超过1分钟吧) 再试

8. 容器重新启动

# 假如我将容器停止
docker stop nexus-server

# 此时使用ps命令将看不到,可加上参数-all查看所有历史容器
docker ps -all
# 看到刚才停止的容器后,可根据容器ID或名称启动
docker start nexus-server

# 由于使用的docker的centos镜像,所以初始设计时不允许容器内有后台运行的一些线程的,
# 也就是说不能把nexus加入服务,并设为自启,
# 需要自己再次使用nexus的启动命令
nexus start

引用文档

Docker 搜索镜像
docker安装centos7镜像
启动docker的container(或者说image的实例)
Docker命令详解(run篇)

后记

  • 图示中路径有不同,可以忽略,只要你配置好了命令,以上命令基本上无所谓在哪个目录下执行 (仅限进入容器之前的内容)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值