0%

Centos下部署docker及其他常用容器部署(1)

  • 本文仅用作自己在学习路上遇到问题、解决问题方面的记录。如被提供给同样在此方面遇到问题的同学参考,不胜荣幸。若文中有出现纰漏不够严谨之处,望海涵。意见之处,不吝赐教。

一、Centos7下安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10,通过 uname -r 命令查看你当前的内核版本.

1
uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

1
sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

1
sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

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

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

1
yum list docker-ce --showduplicates | sort -r

7、安装docker

1
2
sudo yum install docker-ce-17.12.0.ce

8、启动并加入开机启动

1
2
sudo systemctl start docker
sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

1
docker version

Tips:docker常用命令总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
重启docker
systemctl restart docker
关闭docker
systemctl stop docker
查看当前docker下运行的容器(正在运行的)
docker ps
查看所有的docker容器(包含已关闭的)
docker ps -a
启动容器
docker start 容器名/容器ID/容器名字
关闭容器
docker stop 容器名/容器ID/容器名字
删除容器的步骤,先删除容器再删除镜像,删除指定容器前要先停止指定容器的运行
docker将容器重命名
docker rename 旧名字 新名字
启动docker容器
docker run -d -i -t <imageID> /bin/bash
检查docker是否被成功安装
docker info
docker的所有命令帮助
docker help
查看所有镜像列表
docker images

二、Docker下安装jenkins

1、启动docker,下载Jenkins镜像文件

1
docker pull jenkins/jenkins

2、创建Jenkins挂载目录并赋予相应的权限,作用是便于修改配置文件(避免每次修改配置文件都要找到容器安装目录)

1
2
mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount

3、创建并启动Jenkins容器

  -d 后台运行镜像

  -p 10240:8080 将镜像的8080端口映射到服务器的10240端口。

  -p 10241:50000 将镜像的50000端口映射到服务器的10241端口

  -v /var/jenkins_mount:/var/jenkins_mount /var/jenkins_home目录为容器jenkins工作目录,将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里设置的就是上面创建的 /var/jenkins_mount目录

  -v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。

  –name myjenkins 给容器起一个别名

1
docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins

4、查看jenkins是否启动成功

1
docker ps -l

5、查看docker容器日志

1
docker logs myjenkins

6、配置镜像加速,进入 cd /var/jenkins_mount/ 目录

1
cd /var/jenkins_mount/

修改 vi hudson.model.UpdateCenter.xml里的内容

将 url 修改为 清华大学官方镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

7、访问Jenkins页面,输入你的ip加上10240

8、管理员密码获取方法,编辑initialAdminPassword文件查看,把密码输入登录中的密码即可,开始使用

1
vi /var/jenkins_mount/secrets/initialAdminPassword

三、Docker下安装mysql

1、查询mysql镜像

1
docker search mysql

2、安装mysql

1
docker pull mysql

3、查看镜像

1
docker images

4、在opt下创建文件夹

1
2
3
4
cd /opt/
mkdir mysql_docker
cd mysql_docker/
echo $PWD

5、启动mysql容器,在var/lib/docker/containers/下查看容器

1
2
3
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest
-------------------------------
cd /var/lib/docker/containers/

6、查看mysql进程

1
docker ps -a

7、进入mysql容器,并登陆mysql

1
2
docker exec -it mysqlserver bash
mysql -u root -p

8、开启远程访问权限

1
2
3
4
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

Tips:日常docker启动MySQL总结

1
2
3
4
5
6
7
cd /opt/
cd /mysql_docker/
如果没有开启容器,先启动mysql容器
docker start mysqlserver
docker exec -it mysqlserver bash
mysql -u root -p
...

四、Docker下安装redis

1、安装gcc依赖,由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装

1
yum install -y gcc 

2、查询镜像

1
docker search redis

3、拉取官方镜像

1
docker pull redis

4、查看镜像是否成功安装

1
docker images

5、启动镜像

1
docker run -p 6379:6379 -d redis:latest redis-server

6、开启持久化配置 并挂载目录,作用同样是便于配置文件

1
2
3
4
5
6
7
菜鸟教程:
docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes

命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

7、查看容器启动情况:

1
docker ps

8、使用redis镜像执行redis-cli命令连接到刚启动的容器,主机IP为192.168.206.128

1
docker exec -it myredis(已改名,若未改名可直接使用容器ID或者容器名字) redis-cli

9、连接远程(vm控制别的服务器):

1
2
docker exec -it redis容器的名称 redis-cli -h 需要连接的服务器IP -p 6379 -a your_password 
//如果有密码 使用 -a参数

10、被远程连接(vm被控制)

直接使用windows下的redis 的desktop manager输入远程服务器的IP和端口号即可

Tips:连接redis的几种方式

1
2
3
4
5
6
7
docker exec -ti d0b86(容器ID) redis-cli

docker exec -ti d0b86 redis-cli -h localhost -p 6379
docker exec -ti d0b86 redis-cli -h 127.0.0.1 -p 6379
docker exec -ti d0b86 redis-cli -h 172.17.0.3 -p 6379

// 注意,这个是容器运行的ip,可通过 docker inspect redis_s | grep IPAddress 查看
-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道