2019-07-11 15:54:24 C_S_D_N__JOY 阅读数 326
  • Docker集群管理三剑客

    Docker集群管理视频教程,该课程主要分享Docker集群管理工具,主要包括Docker Machine、Docker Compose、Docker Swarm。Docker Machine为本地,私有数据中心及公有云平台提供Docker引擎,实现从零到Docker的一键部署。 Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。 讲师:杜航,Websense云基础架构组开发经理,专注于Openstack和Docker,灵雀云用户。

    14817 人正在学习 去看看 CSDN讲师

Linux使用Docker容器部署环境

  1. 利用连接工具连上服务器(我这里用的是Xshell)

  2. 查看linux的版本:uname -r
    我这里是3.1的最好要3.0以上的
    我这里是3.1的最好要3.0以上的

  3. 更新yum命令:yum update

  4. 使用yum安装docker:yum install docker(如果想卸载请使用命令:yum remove docker \

  5. 启动docker服务:systemctl start docker(如果想停止docker服务请使用::systemctl stop docker

  6. 设置开机启动:systemctl enable docker

  7. 查看docker的版本:docker -v

  8. 拉取镜像,拉取镜像,但是在拉取镜像之前还是希望你设置一下拉取镜像的地址(当然不设置也没事,就是慢一点)

修改或创建daemon.json文件:vi /etc/docker/daemon.json

将以下配置写入到文件中,保存并退出(不会操作的百度下vi命令吧):

{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
  1. 重启docker服务:systemctl restart docker.service
  2. 查看有没有我们需要使用的镜像:docker search 【需要的镜像名字】:【版本号】例如:docker search tomcat:tag
  3. 拉取镜像:docker pull 镜像名 例如拉取tomcat:docker pull tomcat
  4. 查看拉取的镜像:docker images
  5. 删除镜像:docker rmi 镜像ID
  6. 制作容器(这里以制作tomcat为例):docker run --name tomcat -p 8080:8080 -d tomcat
  7. 查看制作好的容器:docker ps -a 或者 docker ps
  8. 删除容器:docker rm 容器ID
  9. 进入容器内部:docker exec -it 容器ID /bin/bash
  10. 制作mysql容器:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql(mysql容器制作方式有些不太一样在这里写出来)
  11. 停止容器/启动容器:docker stop 容器ID/docker start 容器ID
2019-09-29 12:09:17 qq_41606248 阅读数 61
  • Docker集群管理三剑客

    Docker集群管理视频教程,该课程主要分享Docker集群管理工具,主要包括Docker Machine、Docker Compose、Docker Swarm。Docker Machine为本地,私有数据中心及公有云平台提供Docker引擎,实现从零到Docker的一键部署。 Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。 讲师:杜航,Websense云基础架构组开发经理,专注于Openstack和Docker,灵雀云用户。

    14817 人正在学习 去看看 CSDN讲师

第一步linux服务器上安装docker

yum -y install docker

第二步 启动docker服务

service docker start

然后用这个命令查看是否安装成功 出现下边的信息说明安装成功

docker version


第三步创建自己的镜像
我是使用的Dockerfile的方式创建的
首先准备好jdk、tomcat、Dockerfile,jdk和tomcat大家根据自己的需求自行下载合适的版本哦,上传到服务器一个文件夹下面
在这里插入图片描述
下边是Dockerfile的内容,注意要把jdk、tomcat的版本或者名字改为你自己的

FROM centos
#name 和 email改为你自己的名字和邮箱
MAINTAINER name "xxxxxxx@xxx.com"

#创建java目录
RUN mkdir -p /usr/local/java/jdk1.8.0_221
#把当前目录下的jdk文件夹添加到镜像
ADD jdk1.8.0_221 /usr/local/java/jdk1.8.0_221

#创建tomcat目录
RUN mkdir -p /usr/local/tomcat/apache-tomcat-7.0.96
#把当前目录下的tomcat文件夹添加到镜像
ADD apache-tomcat-7.0.96 /usr/local/tomcat/apache-tomcat-7.0.96

#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_221
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-7.0.96
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

WORKDIR /usr/local

#容器运行时监听的端口
EXPOSE  8080
RUN chmod +x /usr/local/tomcat/apache-tomcat-7.0.96/bin/catalina.sh
RUN chmod 777 -R /usr/local
RUN echo "Asia/Shanghai" > /etc/timezone
CMD ["catalina.sh","run"]

然后执行这个命令创建镜像,name 为镜像名称,自己改,注意后边还有一个点

docker build -t name .

然后使用这个命令查看你创建的镜像

docker images

然后创建tomcat容器
-d 后台运行
-p 端口映射
–name 容器名字,你自己定义
mirrorname 使用的镜像名称,也就是上一步你创建的镜像名称(假设你是第一次使用docker,以前并没有用过)

docker run -d -p 8080:8080 --name tomcat mirrorname

这个时候你可以用它来查看你的容器

docker ps

同时你也可以打开浏览器输入 http://ip/8080 访问tomcat

接下来把你已经上传到服务器的war包给搞过来
首先进入到你刚才创建的容器里边

docker exec -it 容器名字 /bin/bash

进入到tomcat目录,如果你是按照上边的来的话,那就是这个路径

cd /usr/local/tomcat/apache-tomcat-7.0.96/

把默认的webapps里的删掉

rm -rf webapps/*

此时你在容器里边,然后在打开一个终端,把war包搞过来

docker cp war包路径 容器名字:/usr/local/tomcat/apache-tomcat-7.0.96/webapps

然后就可以了,他会自动部署你的项目,你只需要等一会,然后就可以在浏览器上访问啦

附上几个常用的命令

docker build -t name .  创建镜像
docker run -d -p port:port --name name 镜像name  创建容器
docker run -t -i id /bin/bash 进入容器目录
docker exec -it 容器name /bin/bash
docker rm id
docker rm $(docker ps -a -q)
docker rmi id
2019-04-19 10:40:24 weixin_38626799 阅读数 299
  • Docker集群管理三剑客

    Docker集群管理视频教程,该课程主要分享Docker集群管理工具,主要包括Docker Machine、Docker Compose、Docker Swarm。Docker Machine为本地,私有数据中心及公有云平台提供Docker引擎,实现从零到Docker的一键部署。 Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。 讲师:杜航,Websense云基础架构组开发经理,专注于Openstack和Docker,灵雀云用户。

    14817 人正在学习 去看看 CSDN讲师

Linux系统

###docker-ce安装###
1、卸载老版本,较老版本的Docker被称为dockerdocker-engine。如果这些已安装,请卸载它们以及关联的依赖关系。

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

2、安装所需的软件包 yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-datalvm2由需要devicemapper存储驱动程序。

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

3、添加镜像源
# sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

4、将软件包添加至本地缓存
# sudo yum makecache fast

5、安装docker-ce
# sudo yum install docker-ce

6、启动docker
# sudo systemctl start docker

 

7、pull registry镜像

# docker pull registry

8、docker iamges命令查看本地镜像;

 然后使用 docker run -d -ti --restart always --name docker-hub -p 5000:5000 -v /docker-hub/registry:/var/lib/registry registry 命令将镜像跑起来

docker ps -a 查看容器运行

9、拉取镜像地址

#  docker pull registry.cn-hangzhou.aliyuncs.com/wu_jy/tomcat:0.1.0 (此镜像为个人镜像只有TOMCAT)

10、重启docker

重启docker服务  # systemctl restart  docker

11、查看本地docker镜像情况

# docker image ls

12、启动刚下载的docker

把18989端口映射到8080端口上

# docker run -d -p 18989:8080 registry.cn-hangzhou.aliyuncs.com/wu_jy/tomcat:0.1.0  /bin/bash

13、再次查看docker镜像

docker ps -a 

14、输入ip加端口

成功!

2019-10-11 17:31:11 qq_36087348 阅读数 30
  • Docker集群管理三剑客

    Docker集群管理视频教程,该课程主要分享Docker集群管理工具,主要包括Docker Machine、Docker Compose、Docker Swarm。Docker Machine为本地,私有数据中心及公有云平台提供Docker引擎,实现从零到Docker的一键部署。 Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。 讲师:杜航,Websense云基础架构组开发经理,专注于Openstack和Docker,灵雀云用户。

    14817 人正在学习 去看看 CSDN讲师

重点

确保docker已经安装
如果没有安装请参照:linux部署docker步骤

1.检查docker是否运行

[root@localtion]$ sudo systemctl status docker
若没有运行则启动docker:
[root@localtion]$ sudo systemctl start docker

2.检索mysql镜像

[root@localtion]$ sudo docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8679                [OK]
mariadb                           MariaDB is a community-developed fork of MyS…   3023                [OK]
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   642                                     [OK]
percona                           Percona Server is a fork of the MySQL relati…   453                 [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   63
centurylink/mysql                 Image containing mysql. Optimized to be link…   61                                      [OK]
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   52
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                                      [OK]
bitnami/mysql                     Bitnami MySQL Docker Image                      36                                      [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   34
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   28                                      [OK]
prom/mysqld-exporter                                                              23                                      [OK]
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   22
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   16
circleci/mysql                    MySQL is a widely used, open-source relation…   15
mysql/mysql-router                MySQL Router provides transparent routing be…   13
arey/mysql-client                 Run a MySQL client from a docker container      11                                      [OK]
imega/mysql-client                Size: 36 MB, alpine:3.5, Mysql client: 10.1.…   8                                       [OK]
openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 image…   6
fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron tas…   4                                       [OK]
ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                                       [OK]
genschsa/mysql-employees          MySQL Employee Sample Database                  2                                       [OK]
jelastic/mysql                    An image of the MySQL database server mainta…   1
monasca/mysql-init                A minimal decoupled init container for mysql    0
widdpim/mysql-client              Dockerized MySQL Client (5.7) including Curl…   0                                       [OK]

NAME:镜像名
DESCRIPTION:说明
STARS:热度
OFFICIAL:是否官方
AUTOMATED:是否自动

3.下载mysql镜像

[root@localtion]$ sudo docker pull mysql:5.7

#下载好后,可以检查是否已经下载成功:
[root@localtion]$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     5.7                 383867b75fd2        4 weeks ago         373 MB

REPOSITORY:镜像名
TAG:标签,latest表示为最新的
IMAGE ID:镜像id
CREATED:创建时间
SIZE:大小
上图中表示mysql镜像文件已经下载成功

4.使用docker启动mysql数据库容器

[root@localtion]$  sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:5.7
9836d9d04f41b51a6be7c9cdaceb4b1ce2496fcfe0e69d3b6455bc1cacaeb223

-v :指明挂在卷
–restart:自动重启
–name:给容器命名
-e:设置账号密码
-p: 指明宿主机端口:docker内部端口
-d:指明用什么镜像的id启动
c5244d16078bb224ce77c3e6446ab6466a95d5fe801b2269d4c00b0eb0d65319:启动的mysql容器的id

5.查看是否启动mysql数据库成功

 [root@localtion]$  sudo docke ps -l
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS               NAMES
 c5244d16078b        b8f                 "docker-entrypoint..."   3 minutes ago       Restarting (1) 6 seconds ago                       mysql

CONTAINER ID:容器id
IMAGES:镜像id
CREATED:创建时间
STATUS:状态
NAME:容器名
到此可知,mysql容器创建成功

6.设置mysql数据库的远程链接

1.进入mysql容器:
[root@localtion]$  sudo docker exec -it mysql bash
root@9836d9d04f41:/#
2.登陆mysql数据库:
root@9836d9d04f41:/# mysql -u root -p"root"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.27 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
mysql>
3.授权:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)
4.重新授权表:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
5.退出:
mysql>exit

7.第三方工具连接mysql数据库

下载好第三方工具后,输入相关信息即可正常连接mysql数据库进行操作
地址:宿主机地址
端口:宿主机3306端口
账号:root
密码:root
推荐使用Mysql官方的Mysql Workbench

8.问题排查

若无法连通宿主机地址:端口,可能是因为防火墙没有关闭,可以用以下命令关闭防火墙
[root@localtion]$ sudo systemctl stop firewalld     #关闭防火墙
[root@localtion]$ sudo systemctl disable firewalld   #重启后也不开启防火墙
若必需打开防火墙,则使用防火墙单独打开3306端口即可
[root@localtion]$ : sudo firewall-cmd --zone=public --permanent --add-port=3306/tcp
[root@localtion]$ : sudo ffirewall-cmd --reload       永久开启3306端口
2018-05-14 12:36:32 GX_1_11_real 阅读数 2037
  • Docker集群管理三剑客

    Docker集群管理视频教程,该课程主要分享Docker集群管理工具,主要包括Docker Machine、Docker Compose、Docker Swarm。Docker Machine为本地,私有数据中心及公有云平台提供Docker引擎,实现从零到Docker的一键部署。 Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。 讲师:杜航,Websense云基础架构组开发经理,专注于Openstack和Docker,灵雀云用户。

    14817 人正在学习 去看看 CSDN讲师

前言

Jenkins 是一款流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。docker 容器则是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
简而言之,docker的理念是可将你的服务打包成为docker镜像,然后可以发布到任何可支持docker容器功能的机器上,当然除此之外还有许多的优点就不提了。
由于我没有打包好的jenkins的docker镜像,就先演示一下用docker官方镜像部署jenkins。(操作基于centos7。)


安装docker

1.必须得先安装docker
yum -y install docker

2.启动docker
systemctl start docker


下载官方jenkins镜像

1.由于docker镜像较大,可进入screen模式后操作(可跳过)

screen -S install_jenkins(给新窗口的项目命名)
CTRL + a d (可退出 当前窗口 )
screen -ls (可查看已拥有screen编号)
screen -r +screen编号 (可进入对应的项目)

2.下载jenkins的docker镜像

docker search jenkins (列出可下载jenkins镜像的版本)

docker pull jenkins (默认下载最新版本)

3.查看已有的docker镜像

docker images

[root@xxx ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 33e02377a00f 4 weeks ago 554 MB
docker.io/gitlab/gitlab-ce latest cb7f154f4459 4 weeks ago 1.43 GB
docker.io/centos latest e934aafc2206 5 weeks ago 199 MB
docker.io/jenkins latest 7b210b6c238a 7 weeks ago 801 MB
docker.io/maven latest 76c9ab5df55b 7 weeks ago 737 MB
docker.io/registry latest d1fd7d86a825 4 months ago 33.3 MB
docker.io/kubernetes/pause latest f9d5de079539 3 years ago 240 kB


创建jenkins的文件夹

1.创建文件夹
mkdir /home/jes/jenkins -p

2.由于jenkins的官方的镜像的Dockerfile文件,将要挂载的文件夹的用户的uid和gid必需是1000,所以要更改文件夹的属主和属组,下面这个方法最直接。
chown -R 1000:1000 /home/jes/jenkins/

[root@xxx ~]# ll /home/jed/jenkins/ -d
drwxr-xr-x 15 1000 1000 4096 May 14 11:38 /home/jed/jenkins/


启动jenkins

1.创建jenkins的docker容器
docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jed/jenkins/:/var/jenkins_home jenkins

-p 8080:8080 -p 50000:50000 将端口映射 (注意端口占用问题)

–privileged=true 将CentOS7中的selinux禁掉了,参数给容器加特权。

-v /home/jes/jenkins:/var/jenkins_home 将本机创建的文件夹挂载到容器的/var/jenkins_home

(注意凡是挂载,端口映射":" 左方的都为服务器真实所有,右侧的为容器所有)

2.运行状态查看
docker ps

[root@xxx~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0ab2bf1f344 jenkins “/bin/tini – /usr…” About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp jenkins

[root@xxx ~]# netstat -lnput |grep 8080
tcp6 0 0 :::8080 ::? LISTEN 4054/docker-proxy-c
[root@xxx ~]# netstat -lnput |grep 50000
tcp6 0 0 :::50000 ::? LISTEN 4044/docker-proxy-c


jenkins首次界面配置

1.初次时要输入管理员密码

这里写图片描述

将查找到的密码,输入其中(初次时存在initialAdminPassword文件,设定用户及密码后消失)
cat /home/jed/jenkins/secrets/initialAdminPassword


2.安装插件(左侧为默认安装;右侧为自选)

这里写图片描述

这里写图片描述

这里写图片描述


3.创建用户

这里写图片描述

这里写图片描述


4.基本完成

这里写图片描述

jenkins的简易部署就此完成了,jenkins的操作请看下篇。

Docker搭建与部署

阅读数 88

Docker部署web项目

阅读数 888

没有更多推荐了,返回首页