深圳做网站公司排名,企业网站托管外包怎么做,建设职业注册中心网站,游客可进的直播目录
一、从空白系统中克隆Centos7系统
二、使用xshell连接docker_tigerhhzz虚拟机编辑
三、在CentOS7基础上安装Docker容器
四、在Docker中进行安装Portainer
4.1、在Docker中安装MySQL
4.2、在Docker中安装JDK8#xff0c;安装Java环境
4.3、Docker安装redis#…
目录
一、从空白系统中克隆Centos7系统
二、使用xshell连接docker_tigerhhzz虚拟机编辑
三、在CentOS7基础上安装Docker容器
四、在Docker中进行安装Portainer
4.1、在Docker中安装MySQL
4.2、在Docker中安装JDK8安装Java环境
4.3、Docker安装redis缓存
4.4、使用 Docker 快速搭建自己的 GitLab
五、项目部署所需
1、安装C和C的环境
2、安装Nginx反向代理 最近自己在虚拟机上搭建一个docker,将项目运行在虚拟机中。
需要提前准备的工具XShell(远程链接工具)VM虚拟机-配置网络、CentOS7(Linux操作系统-在虚拟机上安装)
一、从空白系统中克隆Centos7系统 选择已经安装好的centos7系统鼠标右键--管理---克隆 开启docker_tigerhhzz虚拟机 二、使用xshell连接docker_tigerhhzz虚拟机 连接成功
查看主机名
hostname 修改主机名为docker_tigerhhzz vi /etc/hostname :wq保存退出
重启系统 reboot 三、在CentOS7基础上安装Docker容器 1.已经安装CentOS7后打开终端我这里是切换到了root用户不然每一个命令都要在前面加上【sudo】
2. 通过前面就知道我是CentOS7然后官方建议Linux内核在3.10以上【可能】所以检查当前的内核版本
uname -r 我这里的版本是3.10正好满足要求。
3.使用root权限对yum包进行更新
yum -y update
注释以下两个的区分
yum -y update #升级所有包同时也升级软件和系统内核yum -y upgrade #只升级所有包不升级软件和系统内核 4.如果之前已经安装过的话可以在此卸载以前的版本。
yum remove docker docker-common docker-selinux docker-engine
5.开始安装Docker了安装需要的软件包分别为yum-util 提供yum-config-manager功能另外两个则是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2 出现如下图所示则代表成功安装了需要的软件包 6.设置yum源我一般使用阿里仓库的以下有两种推荐
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
中央仓库
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
推荐使用阿里云阿里仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 7. 先查看一下有哪些Docker版本。
yum list docker-ce --showduplicates | sort -r 8.选择一个版本进行安装我这里选择docker-ce-18.03.1.ce当然可以选择其他版本
yum -y install docker-ce-18.03.1.ce 显示如上图则代表安装成功 9.启动Docker并设置开启自动启动
systemctl start docker #启动Dockersystemctl enable docker #开启开机自启模式 10.查看docker版本
docker version
结束Docker的安装了
四、在Docker中进行安装Portainer 1.拉取portainer镜像当然你可以事先搜索一下有哪些Portainer镜像
搜索镜像
docker search portainer 拉取镜像
docker pull portainer/portainer 2.查看镜像是否被拉取成功
docker images 3.运行portainer
docker run -d -p 9000:9000 --restartalways -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --name prtainer portainer/portainer
解释 -d容器在后台运行-p 9000:9000 宿主机9000端口映射容器中的9000端口前面的是宿主机端口后面的是容器端口–restart 标志会检查容器的退出代码并据此来决定是否要重启容器默认不会重启–restartalways自动重启该容器-v /var/run/docker.sock:/var/run/docker.sock 把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中-v portainer_data:/data 把宿主机portainer_data数据卷挂载到容器/data目录–name prtainer-test 给容器起名为portainer 4.查看portainer是否在运行
docker ps 5.发现portainer确实已经正在运行所以我们现在就可以去使用Portainer了。
访问地址为http://虚拟机IP:9000ip是指你当前虚拟机的ip首次访问要创建管理员账号和密码用户名admin,密码123456如下图所示 这就结束了Docker安装Portainer了。 4.1、在Docker中安装MySQL
1、在系统中可能存在mysql的安装包使用docker ps -a查看运行的所有容器。
如果已经存在mysql镜像的容器可以使用以下命令停止和删除使用该MySQL镜像的容器 docker ps -a
docker stop mysql-container # MySQL镜像的容器名称docker rm mysql-container # MySQL镜像的容器名称 mysql-container为MySQL镜像的容器名称。
2、可能删除出现问题采用强制删除MySQL镜像使用以下命令强制删除MySQL镜像
docker rmi -f mysql:latest
这将强制删除名为mysql:latest的MySQL镜像。
3、当删除完成之后重新拉取MySQL镜像
docker pull mysql:latest
Error response from daemon: missing signature key错误解决
docker安装的版本低了需要升级 完整复制下面的内容
yum erase docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce 执行完之后再执行
yum install docker-ce -y 至此已经更新完毕不需要卸载docker其他的东西有些还要将容器什么的全部卸载不用
下载完后需要重启 docker
# 启动docker
systemctl start docker# 开启开机自启模式
systemctl enable docker 这时候拉取镜像还是出现了一些问题docker 在启动容器的时候报错
Error response from daemon: unknown or invalid runtime name: docker-runc 解决方式如下执行以下命令
grep -rl docker-runc /var/lib/docker/containers/ | xargs sed -i s/docker-runc/runc/g 然后重启docker
# 启动docker
systemctl start docker# 开启开机自启模式
systemctl enable docker 4、重新运行MySQL容器在删除容器和镜像后重新运行MySQL容器
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 -d mysql
5、运行完成之后检验是否安装成功
docker exec -it mysql-container bash #进入mysql容器中mysql -r -p #输入密码登录select version(); #查看版本号Show databases; #查看全部数据库 6、至此数据库MySQL安装完成。 7、为了方便操作数据库我们使用Navicat,来远程链接虚拟机MySQL。
通过SSH方式链接可以查看到全部的数据库方便开发使用。 8、通过portainer查看MySQL运行情况
portainer登录用户名admin
登录密码123456123456 4.2、在Docker中安装JDK8安装Java环境
1、拉取Java镜像OpenJDK 8
docker pull openjdk:8-jdk# 或者直接用docker运行 jdk1.8,如果找不到jdk镜像docker会自动从远程仓库中拉取最新的jdk镜像下载完成后自动启动运行。docker run -di --namejdk1.8 openjdk
2、查看镜像
docker ps 3、进入jdk容器
docker exec -it jdk1.8 /bin/bash
4、验证Java是否正确安装
java -version Java正确安装可以看到JDK 8的版本信息。
5、可以通过portainer查看jdk是否在运行
http://192.168.162.100:9000/#!/2/docker/containers 4.3、Docker安装redis缓存
1、拉取Redis镜像并运行容器
拉取Redis镜像
docker pull redis 运行Redis容器
docker run -d --name myredis -p 6379:6379 redis2、这将在后台运行一个名为myredis的Redis容器并将容器内的6379端口映射到主机的6379端口。
验证Redis是否正确安装
使用Redis客户端连接到Redis容器
docker exec -it myredis redis-cli
3、在Docker中设置Redis的密码
请参考阅读博文在Docker中设置Redis的密码
4、在Redis命令行中执行一些简单的命令例如
auth 12345 #授权输入redis密码set mykey Hello Redisget mykey
5、能够成功设置和获取键值对则表示Redis已正确安装并运行。 6、可以通过portainer查看redis是否在运行 4.4、使用 Docker 快速搭建自己的 GitLab
1「下载镜像」
通过 docker pull 命令下载 gitlab 的镜像这个过程需要花费一些时间
docker pull gitlab/gitlab-ce:latest下载完成后查看一下是否下载成功如果你能看到输出信息中已经有了 gitlab/gitlab-ce 的话说明镜像下载成功了
docker images 2启动服务
现在我们只需要启动 gitlab 服务就可以了
docker run --detach \--publish 10443:443 --publish 1080:80 --publish 1022:22 \--name gitlab \--restart always \--volume /mydata/gitlab/config:/etc/gitlab \--volume /mydata/gitlab/logs:/var/log/gitlab \--volume /mydata/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest
「配置项」 --shm-size 32g ; 将 shm 共享内存的大小设置为了 32G一开始的时候我没有设置导致总是报 500 或者 502 的错误 --hostname dockertigerhhzz.com ; 设置你的 gitlab 服务所使用的域名随后你进入到 gitlab 的 web 界面后通过 git 拉取代码或者推送代码它在 web 界面所展示的主机的地址都是会受这个配置项影响的 --publish 10443:443 ; 将 宿主机的10443 端口和 docker 容器的 443 端口映射剩余两个端口映射同理 --name gitlab ; 配置启动后的容器名 --restart always ; 容器挂掉了是否自动重启自动自动重启 --volume /mydata/gitlab/config:/etc/gitlab \ 将宿主机的volume /mydata/gitlab/config 目录挂载到 Docker 容器的 /etc/gitlab 目录上其实就是让它存数据的时候直接存在宿主机的文件系统上嘛。在这里我挂在目录的时候使用了宿主机上我们创建的那些目录的绝对路径形式。剩余的两个目录挂载也是同理的
好啦现在我们就运行上面的那一串命令就可以启动 gitlab 服务了启动需要花一些时间大概 1 到 2 分钟的样子。 3「查看容器状态」
通过如下命令查看容器是否正常运行
docker ps在这里可以看到我的服务已经运转了 。 4开启防火墙的指定端口 由于Gitlab运行在1080端口上所以我们需要开放该端口注意千万不要直接关闭防火墙否则Gitlab会无法启动。 # 开启1080端口
firewall-cmd --zonepublic --add-port1080/tcp --permanent
# 重启防火墙才能生效
systemctl restart firewalld
# 查看已经开放的端口
firewall-cmd --list-ports 5访问Gitlab
访问地址http://192.168.162.100:1080/由于Gitlab启动比较慢需要耐心等待10分钟左右如果Gitlab没有启动完成访问会出现如下错误。 可以通过docker命令动态查看容器启动日志来知道gitlab是否已经启动完成。
docker logs gitlab -f
Gitlab的使用Gitlab启动完成后第一次访问会让你重置root帐号的密码 「默认账户」 用户名: 默认的用户名是 root 密码而 root 用户默认的密码是被放在 ~/mydata/gitlab/config 目录中的 initial_root_password 文件中你可以通过命令 cat ~/mydata/gitlab/config/initial_root_password 来查看内容然后把这个密码复制下来就可以登录 gitlab 了
注意我们在找默认密码的时候是在宿主机的目录中去找因为你已经把这个目录给挂载上去了你就直接在宿主机的文件系统中去找那个默认密码的文件就可以了并且这个默认密码的文件会在 24 小时后被自动删除你一定要及时修改密码嗷。 「关于备份」
你只需要把我们创建的那三个文件夹备份好就可以了如果换了一个地方部署 gitlab 应用你只需要把相应的文件夹进行挂载即可 五、项目部署所需
1、安装C和C的环境
1、在docker中下载环境并部署
yum install gccyum install gcc-c
2、输入命令检查是否安装成功
gcc --versiong --version 3、C和C的环境安装成功 2、安装Nginx反向代理
1、拉取nginx镜像
docker pull nginx
2、运行启动
docker run -d -p 80:80 --name mynginx nginx
3、打开浏览器输入http://192.168.162.10:80,可以出现默认nginx的页面表示安装成功