CentOS下Docker的安装和常用镜像安装

一.Docker的简介

Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(社区版) 和 EE(企业版),我们用社区版就可以了。

img

概念说明
Docker 镜像(Images)Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
Docker 容器(Container)容器是独立运行的一个或一组应用,是镜像运行时的实体。
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK与 Docker 的守护进程通信。
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker 仓库(Registry)Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。
Docker MachineDocker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker

二. CentOS安装Docker

2.1 卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.2 设置仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

$ yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用以下命令来设置稳定的仓库

$ yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2.3 安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd:

$ yum install docker-ce docker-ce-cli containerd.io

启动 Docker

$ systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

$ sudo docker run hello-world

2.4 Docker镜像加速

编辑 /etc/docker/daemon.json ,写入如下内容:

{"registry-mirrors":["https://registry.docker-cn.com"]}

之后重新启动服务:

$ systemctl daemon-reload
$ systemctl restart docker

三. Docker Image的安装

3.1 Docker安装Tomcat

安装Tomcat

docker pull tomcat

启动Tomcat,并挂载/root/webapps到容器的/usr/local/tomcat/webapps,并设置自动启动

docker run -d -p 8080:8080 --name tomcat -v /root/webapps:/usr/local/tomcat/webapps --restart=always tomcat

3.2 Docker安装MySQL

安装MySQL 5.6

docker pull mysql:5.6

启动MySQL

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always -d mysql:5.6

启动MySQL,并挂载conf, logs, data目录

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --restart=always -d mysql:5.6

3.3 Docker安装Redis

安装Redis

docker pull redis

启动Redis

docker run -p 6379:6379 --name redis -d redis redis-server --appendonly yes

启动Redis,并挂载data目录

docker run -p 6379:6379 -v $PWD/data:/data  -d redis:3.2 redis-server --appendonly yes

3.4 Docker安装RabbitMQ

安装RabbitMQ,这里注意获取镜像的时候要获取management版本的,不要获取last版本的,management版本的才带有管理界面。

docker pull rabbitmq:management

启动RabbitMQ,默认用户名和密码是guest

docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management

启动RabbitMQ,设置用户名和密码,挂载data目录

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management

后台管理地址:http://ip:8080/

3.5 Docker安装GitLab

$ docker pull gitlab/gitlab-ce
$ sudo docker run --detach \
  --hostname 192.168.64.129 \
  --publish 443:443 --publish 80:80 --publish 222:22 \
  --name gitlab \
  --restart always \
  --volume /root/gitlab/config:/etc/gitlab \
  --volume /root/gitlab/logs:/var/log/gitlab \
  --volume /root/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce

在config目录下添加gitlab.rb

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.64.130'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.64.130'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口

生成SSH Key,打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框

$ ssh-keygen -t rsa -C "email@example.com"

3.6 Docker安装Jenkins

$ docker pull jenkins/jenkins
$ mkdir /root/jenkins
$ chown -R 1000:1000 /root/jenkins
$ docker run -d -p 8080:8080 -p 50000:50000 -v /root/jenkins:/var/jenkins_home --name jenkins jenkins/jenkins

由于国外网站无法访问,Update Site请用https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,有些插件自动下载安装,请手动下载,http://updates.jenkins-ci.org/download/plugins/

3.7 Docker安装memcached

docker pull memcached
docker run -d -p 11211:11211 --name memcached memcached
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值