VM虚拟机上使用centos7安装docker启动gogs服务视频教程

BiliBili视频教程链接飞机票,点我

使用VMware Workstation安装Centos7 MinMal系统

第一步:下载安装VMware Workstation

提供一个友情下载链接虚拟机VMware Workstation Pro 12.0.1【PJ版】大家自行安装

下载Centos7 MinMal ISO最小化安装镜像

进入cnetos官方网站下载MinMal ISO系统镜像

第二部:使用VM安装系统,设定管理员账户密码以及普通用户账户,设定网络,安装VMware Tools虚拟机驱动

提供一个友情教程【CentOS】CentOS7的安装,网络的开启和VMware Tools的安装

第三步:使用xshell进行ssh登录验证

下载及使用自行百度软件下载地址

SSH的Host地址在虚拟机centos中使用一下地址进行查看,默认端口22,密码管理员密码

$ ip addr

安装docker

Get Docker CE for CentOS

由于Docker限制分为两个版本CE和EE,所以之前yum里面的docker是老版本,需要先进行卸载,现在的包名叫做docker-ce

$ sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine

安装Docker CE

你能够通过不同的方式来安装DockerCE,取决于你的需要。

通过仓库来安装docker

当你在一台新的机器上第一次安装docker之前,你需要去设定一下你的Docker仓库,之后你才能够安装或者更新Docker从仓库中

设置仓库:

  1. 安装依赖的库:yum-utils、yum-config-manager、device-mapper-persistent-data、lvm2、devicemapper
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
  1. 使用下列的命令去设置stable仓库,你大部分使用的是stable版本的仓库,不过你想安装编译从edge或者test版本也是没有问题的
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
  1. 选项:允许edge和test的参控股,他们的仓库资源是包含在docker.repo上面的,文件包含,但是默认配置是能够获取的,你需要用通过命令开启,然后能够和stable版本一起使用
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

也能够通过yum-config-manager的命令--disable来开启和关闭对应的edge仓库和test仓库

$ sudo yum-config-manager --disable docker-ce-edge

备注:从Docker17.06开始,stable releases版本同样会被推送到edge和test的仓库中

安装Docker CE

  1. 安装最新版本的Docker CE或者按安装特殊版本
$ sudo yum install docker-ce

警告:如果你有移除Docker,安装或者更新特殊版本在yum install或者yum update命令,仍然会安装最高可用版本的docker,有可能你获取不到适当的版本

  1. 在生产系统你需要搞特殊版本的docker而不是最新版,列表可以查看的版本,使用sort -r命令获得版本结果你需要加入对应的版本号.x86_64在包名的后面
$ yum list docker-ce.x86_64  --showduplicates | sort -r
docker-ce.x86_64 17.06.ce-1.el7.centos docker-ce-stable

安装对应的版本如上图版本就是docker-ce-17.06.ce-1

$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
# example
$ sudo yum install docker-ce-17.06.1.ce
  1. 启动Docker
$ sudo systemctl start docker
  1. 验证docker是不是被正确的安装,通过hello-world的镜像
$ sudo docker run hello-world
  1. 卸载docker
  • 第一步:卸载docker包
$ sudo yum remove docker-ce
  • 第二步:删除你的镜像、容器、磁盘、以及相关的配置文件在你电脑上不会自动删除,通过命令行删除的镜像、容器、文件
$ sudo rm -rf /var/lib/docker
  1. windows和mac安装,官网下载,安装包的方式安装,安装完成后即可使用
  1. 官方还提供了其他方式进行安装,各位参考官方网站

注意点:windows使用的hype-V技术,和VMware Workstation使用的虚拟化技术有冲突,两者不能同时启动,用windows的同学注意咯

添加docker镜像节点

DaoCloud:Docker加速器,注册账号,按照使用教程进行处理

Docker 加速器是否收费?

DaoCloud 为了降低国内用户使用 Docker 的门槛,提供永久免费的加速器服务,请放心使用。

使用docker下载gogs镜像,并进行部署安装

进入gogs的github查找对应的教程,本次部署使用docker的模式,所以我们找寻docker方法,实际上部署还有Install from binaryInstall from sourceInstall from packagesInstall with Vagrant等方式。

我们使用docker安装的方式Ship with DockerDocker for Gogs

  1. 拉取镜像
# 拉取gogs镜像到本地docker中,确保docker启动中
$ docker pull gogs/gogs
# 查看镜像
$ docker images
# docker使用帮助
$ docker --help
  1. 配置目录启动镜像设定参数
# 下载镜像
$ docker pull gogs/gogs
# 创建本地磁盘
$ mkdir -p /var/gogs
# 启动gogs
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
  1. 启动参数含义解析

--name:指定启动的容器的名称为gogs

-p:指定端口映射,一个是对外主机端口,映射到docker里面的22端口,同理10080映射到3000的端口,个人觉得如果端口不是不够的情况下,指定相同的端口便于记忆

-v:指定数据磁盘,指定/var/gogs:作为/data的路径

gogs/gogs:镜像的名称,也就是docker的gogs镜像

  1. 停止后重新启动服务
# 启动gogs
$ docker start gogs
# 停止gogs
$ docker stop gogs
  1. 访问gogs配置使用,具体按照系统操作

添加linux服务器防火墙端口过滤命令,按照指定端口进行配置

# 添加防火墙端口通过
$ firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 刷新防火墙
$ firewall-cmd --reload

参考资料

微信公众号:努力编程的小猪

欢迎大家关注,我也希望能够认识更多的人!

【运维技术】VM虚拟机上使用centos7安装docker启动gogs服务教程【含B站视频教程】的更多相关文章

  1. [运维] 如何访问虚拟机上的 Tomcat ?

    环境: 虚拟机: VMware 15 pro    操作系统  Linux  CentOS 7 64 物理机: Windows 7 事先准备: 1: 下载 Tomcat  的压缩包  apache-t ...

  2. 基于ASP.Net Core学习Docker技术第一步:在CentOS7安装Docker平台

    Docker技术几年前就火了,伴随着今年来devops的流行,这项技术一直被技术社区追捧.提起Docker很容易被默认为是Linux平台下的技术,.NET的技术跟他似乎没有沾边,不过那是对非.NET ...

  3. Centos7使用Docker启动elasticsearch服务秒退

    首先查看docker启动日志 docker logs -f 容器id 查看报错信息 OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepG ...

  4. CentOS7安装docker 启动不了解决篇

    [root@test ~]# yum update [root@test ~]# yum install docker [root@test ~]# service docker start Redi ...

  5. 解决本地无法访问vm虚拟机上centos7服务器中已配置好的hugo站点的问题

    一.配置VM网络连接 打开vm,找到"编辑",打开"虚拟网络编辑器" 选中下面截图中的上方为类型为"NAT模式"那一栏,然后点击下方的&qu ...

  6. vm虚拟机上安装apache+php+ftp+mysql

    我在vm虚拟机上想安装 winxp和linux,然后在linux机上装apache+php+ftp+mysql,以下为我的按装过程:  1:连通虚拟机:两个虚拟机都选Host-Onl,查看主机Virt ...

  7. 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS) - lxcong的运维技术 - 开源中国社区

    突破LVS瓶颈,LVS Cluster部署(OSPF + LVS) - lxcong的运维技术 - 开源中国社区 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)

  8. 端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区

    端口映射工具 redir/socat/xinetd - 运维技术 - 开源中国社区 端口映射工具 redir/socat/xinetd    10人收藏此文章, 我要收藏 发表于3天前(2013-08 ...

  9. 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点

    WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...

随机推荐

  1. 打开Linux ftp服务,如:vsftpd: unrecognized service

    打开Linux ftp服务,如:vsftpd: unrecognized service   [root@BZXXDBS02 ~]# service vsftpd start vsftpd: unre ...

  2. memset和memcpy函数、atoi函数

    memset void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c.如下: // 1.将已开辟内存空间s的首n个字节 ...

  3. Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中

    有两张表, 一张为爱好表b表 一张为用户表 u表 u表 id   名称   爱好Id 1    张三     1,2,3,4 2    李四      2,5 b表 id  名称 1    打乒乓 2 ...

  4. mongodb学习(二)

    昨天给ubuntu13.04安装ati的显卡驱动,ubuntu本来对ati的显卡支持不是很好,没办法unity启动器没有了,ccsm也没有任何作用,只得重新安装了12.10,近期也不打算升级13.04 ...

  5. 对规范中每个模块只允许一个id的理解

    优点: 每个模块只有一个ID,并且在css中不适用ID,ID从模板中传入js中,则该模块的复用灵活性会非常高.想要复用该模块时,只需要改动两个地方.一个是html中的ID,另外一个是写到全局conf. ...

  6. hql 语法与详细解释<转>

    HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性 ...

  7. crossdomain.xml跨域配置文件的安全注意事项

    零.绪论: 对WEB中的FLASH确实了解不多,对程序中的跨域配置也了解不多,这是自己以前写的一篇笔记,到现在也还了解不深,勉强记下来罢了,备忘. 一.什么是crossdomain.xml?这是一个f ...

  8. 【BZOJ3470】Freda’s Walk 概率与期望

    [BZOJ3470]Freda’s Walk Description 雨后的Poetic Island空气格外清新,于是Freda和Rainbow出来散步. Poetic Island的交通可以看作一 ...

  9. java的synchronized有没有同步的类锁?

    转自:http://langgufu.iteye.com/blog/2152608 http://www.cnblogs.com/beiyetengqing/p/6213437.html 没有... ...

  10. C /C ++中结构体的定义

    c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问 ...