由于Docker限制分为两个版本CE和EE,所以之前yum里面的docker是老版本,需要先进行卸载,现在的包名叫做docker-ce
yum remove docker docker-common docker-selinux docker-engine
安装Docker CE
你能够通过不同的方式来安装DockerCE,取决于你的需要。
通过仓库来安装docker
当你在一台新的机器上第一次安装docker之前,你需要去设定一下你的Docker仓库,之后你才能够安装或者更新Docker从仓库中
设置仓库:
1、安装依赖的库:
yum install -y yum-utils device-mapper-persistent-data lvm2
2、使用下列的命令去设置stable仓库,你大部分使用的是stable版本的仓库,不过你想安装编译从edge或者test版本也是没有问题的
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、选项:允许edge和test的参控股,他们的仓库资源是包含在docker.repo上面的,文件包含,但是默认配置是能够获取的,你需要用通过命令开启,然后能够和stable版本一起使用
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
也能够通过yum-config-manager的命令--disable来开启和关闭对应的edge仓库和test仓库
yum-config-manager --disable docker-ce-edge
备注:从Docker17.06开始,stable releases版本同样会被推送到edge和test的仓库中
安装Docker CE
1、安装最新版本的Docker CE或者按安装特殊版本
yum install docker-ce
警告:如果你有移除Docker,安装或者更新特殊版本在yum install或者yum update命令,仍然会安装最高可用版本的docker,有可能你获取不到适当的版本
2、在生产系统你需要搞特殊版本的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> //依情况而定
sudo yum install docker-ce-17.06.1.ce //家里安的是这个
3、启动Docker
systemctl start docker
4、验证docker是不是被正确的安装,通过hello-world的镜像
docker run hello-world
5、卸载docker
yum remove docker-ce
6、第二步:删除你的镜像、容器、磁盘、以及相关的配置文件在你电脑上不会自动删除,通过命令行删除的镜像、容器、文件
rm -rf /var/lib/docker
添加docker镜像节点
DaoCloud:Docker加速器,注册账号,按照使用教程进行处理
Docker 加速器是否收费?
DaoCloud 为了降低国内用户使用 Docker 的门槛,提供永久免费的加速器服务,请放心使用。
使用docker下载gogs镜像,并进行部署安装
进入gogs的github查找对应的教程,本次部署使用docker的模式,所以我们找寻docker方法,实际上部署还有Install from binary、Install from source、Install from packages、Install with Vagrant等方式。
我们使用docker安装的方式Ship with DockerDocker for Gogs
拉取镜像
# 拉取gogs镜像到本地docker中,确保docker启动中
$ docker pull gogs/gogs# 查看镜像
$ docker images# docker使用帮助
$ docker --help
配置目录启动镜像设定参数
# 下载镜像
$ 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
启动参数含义解析
--name:指定启动的容器的名称为gogs
-p:指定端口映射,一个是对外主机端口,映射到docker里面的22端口,同理10080映射到3000的端口,个人觉得如果端口不是不够的情况下,指定相同的端口便于记忆
-v:指定数据磁盘,指定/var/gogs:作为/data的路径
gogs/gogs:镜像的名称,也就是docker的gogs镜像
停止后重新启动服务
# 启动gogs
$ docker start gogs
# 停止gogs
$ docker stop gogs
访问gogs配置使用,具体按照系统操作
添加linux服务器防火墙端口过滤命令,按照指定端口进行配置
# 添加防火墙端口通过
$ firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 刷新防火墙
$ firewall-cmd --reload