二、docker-安装nexus
nexus个人遇到一般都是作为Maven私库使用的,但是好像nexus的作用不止于此,还可以作为Docker镜像库、npm库等使用,功能后续在做研究,本文只针对安装nexus服务。
系统:Centos 7.6,2核4G,理论上后续的系统版本都可以使
已验证1核2G的有的机子会出现无法启动的情况。该服务好像比较吃资源,建议使用4核以上的服务器。
环境:docker
使用镜像: sonatype/nexus3
1.拉取镜像
docker pull sonatype/nexus3
2.建立本地挂载文件夹,若无需将容器相关内容挂载到本地,可直接跳转到第4步
mkdir /mnt/data/nexus/data -p
3.挂载文件夹授权
本步骤必不可少,不然容器将会无法启动!!!!!
chown -R 200 /mnt/data/nexus/data
4.创建容器并启动服务。
a.未挂载本地文件夹
docker run -d -p 8001:8081 --name nexus --restart=alw***s sonatype/nexus3
b.挂载本地文件夹
docker run -d -p 8001:8081 --name nexus -v /mnt/data/nexus/data:/nexus-data --restart=alw***s sonatype/nexus3
参数说明:
-d:容器后台运行。
-p:将主机的8001端口映射到docker容器的8081端口。
-v:将主机上的 /mnt/server/nexus/data 目录映射到 /nexus-data 目录
其他的参数可详见菜鸟教程
5.查看密码。
a.未挂载容器中的 /nexus-data 到本地文件夹
查看容器ID
docker ps
进入容器终端
docker exec -it 容器ID /bin/bash
查看admin密码
cat /nexus-data/admin.password
b.按上述文档挂载了文件夹
无需理会a中的内容,直接访问主机中的目录文件
cat /mnt/data/nexus/data/admin.password
得到的字符串就是nexus的admin账号密码,一般***次进入是要要求更改密码的。
6.Nginx进行域名映射或中转
若docker服务端口直接对外使用,不需要进行nginx等中间服务器处理,该步骤无需理会。
建议使用该步骤,强烈建议使用https!
a.http
server {
listen 80;
server_name XXXX.com; // 该处改为域名
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass ; // 此处未映射到nexus地址
}
}
b.https(建议使用)
server {
listen 443 ssl;
server_name XXXX.com; // 该处改为域名
ssl_certificate cert/XXXX.com/XXXX.com.pem; // 证书相关文件
ssl_certificate_key cert/XXXX.com/XXXX.com.key; // 证书相关文件
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass ; // 此处未映射到nexus地址
}
}
docker菜鸟教程是什么?
Docker视频免费下载
链接:
提取码:1r9g
Docker视频|走进Docker|从Docker到CaaS(一)Docker集群管理介绍|从Docker到CaaS(三)Kubernetes|从Docker到CaaS(六)微服务与CaaS|从Docker到CaaS(二)Docker 容器管理工具|从 Docker 到 CaaS(五)灵雀云部署 Docker 容器|
docker基础(一)
菜鸟教程:
-m : 提交时的说明文字;
-a : 提交的镜像作者;
docker images 就可以查看到
如果还要删除,那么就先删除容器 再删除镜像.
docker stop af00
docker rm af00
docker rmi ubuntutu002:v1
镜像的存出先当与备份,会把现在的操作系统运行的镜像备份一份出来.
镜像的导入,相当于镜像备份恢复,会把之前的镜像备份重新导入操作系统运行.
2020-03-28 Win10+Docker+VSCode+React/Node.js配置
根据客户需求,要在离线环境开发部署基于React的应用。由于:
决定采用Docker,在联网环境下配置React后携带入开发环境。
家里是Win10环境,半年前已经安装了Docker。
Docker在Win10上的安装可以参考官网解决方案 Docker Desktop for Windows 。
(然而其实质。。。就是装了一个VirtualBox里安装的Linux虚拟机,在里面装Docker。)
常规解决方案:
Docker官网
Docker Desktop for Mac
Docker Desktop for Windows
Win7/8可能需要更多操作: Windows Docker 安装-菜鸟教程
这部分坑是最多的,可惜时间太久已经忘记了。
检查Docker版本:
配置Docker镜像:
由于众所周知的原因,需要配置镜像加速器。
系统右下角 Docker 图标内右键菜单 Settings,窗口里Daemon标签页内配置json:
使用Node官方镜像为基础搭建
查看 node官方镜像
或
拉取最新版本的node镜像:
查看本地镜像:
运行容器:
进入容器并查看node和npm版本
另外,(由于众所周知的原因,需要配置镜像加速器)* 2
使用cnpm或给npm配置淘宝镜像:
来到了常见的create-react-app环节
启动应用:
成功运行应用,然而在浏览器里并不能看到。容器的端口并没有和主机绑定。
查看运行中容器状态:
查看容器端口绑定
保存一下镜像并创建容器绑定端口:
重新开启应用:
VSCode是真的香。。。
我用的***个。
能看到当前镜像和容器。容器上右键可以Attach Visual Studio Code。
然后容器就停了。。。。
docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出。Attach Visual Studio Code使用的是attach命令,就是使用现有终端,如果你要退出容器操作,那么bash结束,容器也就退出了。
重新创建容器,加了持续运行进程。
Docker及Docker-Compose的使用
菜鸟Docker
阮一峰的Docker教程
Docker是一个开源的容器引擎,它有助于更快地交付应用。方便快捷已经是 Docker的***优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
按照菜鸟的步骤,使用yum安装即可。
常用指令如下图,直白用法点 我 ,官方介绍点击 我
备注:RUN命令在 image 文件的构建阶段执行,执行结果都会打包进入 image 文件;CMD命令则是在容器启动后执行。另外,一个 Dockerfile 可以包含多个RUN命令,但是只能有一个CMD命令。注意,指定了CMD命令以后,docker container run命令就不能附加命令了,否则它会覆盖CMD命令。
Docker Compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
docker菜鸟教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于docker常用命令、docker菜鸟教程的信息别忘了在本站进行查找喔。