《docker的简单使用》记录篇

Docker的使用

1、什么是Docker

Docker是一个虚拟机

Docker是一个容器、这个容器中能放置很多的镜像、同时这个容器也能自身操作这所有的镜像

镜像:这个镜像你可以认为是安装了Linux操作系统 或者 在操作系统上 安装了一些列服务的这样一个载体

备注:你可以认为Docker是一个虚拟机 只不过这个虚拟机 可能功能上 更加强大 他能同时操作多个包含操作系统的镜像

注意:镜像上的操作系统 一般情况下 都是被阉割了的 这个操作系统 体积会非常的小

2、Docker能干什么

Docker能够安装常用的服务(MySQL、Nginx、Tomcat、JDK、FastDFS、Redis)

单体应用可以进行容器化部署

在Docker中服务可以进行多节点的部署

Docker可以进行容器的动态伸缩

3、Docker的基本安装

 一、安装docker
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
 $ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker  docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 

6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r

7、安装docker
$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce
 

8、启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker

4、Docker的基本命令

容器:表示的是 镜像运行之后的实例

docker pull :镜像的名字:镜像的版本号     //从远程仓库下载一个我们需要的镜像
docker images :查看本地仓库的镜像
docker ps -a :这个查看当前真该运行的容器
docker rm 
docker stop 容器id :这个表示的是 停止这个容器
docker start 容器的id :这个表示的是 启动这个容器
docker exec -it 容器的id  /bin/bash  :这个表示的是进入某一个容器
docker search 镜像的名字 :这个就叫做 搜索某一个镜像是否存在  并且列举出这个镜像中的所有数据
docker commit 容器的id  :在原来镜像的基础上 你可以构建一个新的镜像 并进行打包成镜像
docker rm 容器的名字  删除一个容器
docker rmi 镜像的名字  :删除一个镜像

5、Docker安装JDK

6、Docker安装下Tomcat

6.1、从远程下载并安装
docker pull tomcat:8.5.57-jdk8

在本地准备要访问的文件和文件夹
准备的目录:/usr/local/webapp的目录

docker run -d(后台运行)  -p(端口映射) 8080(宿主机端口):8080(容器的端口) -v(挂载目录) /usr/local/webapp(宿主机的目录):/usr/local/tomcat/webapps(容器的目录)  tomcat:8.5.57-jdk8

然后使用docker ps -a 查看容器是否已经启动

在浏览器就可以访问这个Tomcat了

7、Docker安装MySQL

docker pull  mysql:5.7

启动
 docker run -d --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
 
 进入容器
 docker exec -it 容器的id  /bin/bash
 
 mysql -u root -p123456
 
 赋予远程访问的权限
mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123';
mysql> flush privileges;

使用远程的连接工具直接连接这个服务器  Sqlyog等工具

8、镜像的制作之Dockerfile的使用

前面的都是小试牛刀 这个才是最重要的

制作镜像 :docker commit 这个命令

但是一般在做项目部署或者 服务的部署的时候 我们都会使用 Dockerfile这个文件来进行构建

Dockerfile是编写一个文件 使用这个文件来 构建我们的镜像

8.1、构建一个自己的镜像
from centos:7      :这个表示的是从那个基础的镜像进行构建
maintainer xiaobobo :这个表示的是 构建这个镜像的作者
add jdk-7u79-linux-x64.tar.gz /usr/local   // add:表示的是 将这个文件上传到指定的路径 并且进行解压
add linux_apache-tomcat-7.0.26.tar.gz /usr/local
env JAVA_HOME /usr/local/jdk1.7.0_79   //这个表示的是设置Java的环境变量
env PATH $JAVA_HOME/bin:$PATH   
expose 8080    //这个表示的是对外暴露的端口
cmd ["/usr/local/apache-tomcat-7.0.26/bin/catalina.sh","run"]  //这个表示的是启动文件所在的路径  以及启动的命令

注意:1、这个Dockerfile文件的名字是不能乱写的
构建镜像的命令
    docker build -t 镜像的名字:镜像的版本号  .(这个.表示的是在当前的这个路劲下去找 Dockerfile这个文件)
启动这个镜像的命令
     docker run -d -p 8080:8080 xiaobobotomcat:v1.0
8.2、构建不解压的文件的镜像
from centos:7
maintainer xiaobobo
copy jdk-7u79-linux-x64.tar.gz /usr/local
copy linux_apache-tomcat-7.0.26.tar.gz /usr/local
copy cd-2001-springcloud-aaa.war /usr/local
run cd /usr/local && \
    tar -zxvf jdk-7u79-linux-x64.tar.gz && \
    cd /usr/local && \
    tar -zxvf linux_apache-tomcat-7.0.26.tar.gz && \
    cd /usr/local && \
    cp cd-2001-springcloud-aaa.war /usr/local/apache-tomcat-7.0.26/webapps
env JAVA_HOME /usr/local/jdk1.7.0_79
env PATH $JAVA_HOME/bin:$PATH
expose 8080
cmd ["/usr/local/apache-tomcat-7.0.26/bin/catalina.sh","run"]

要向同时部署 多个服务 这个一个Dockerfile文件显然不能满足咋们的要求 这个时候 docker-compose就应运而生了

9、Docker-Compose的使用

docker-compose 是用来干嘛的呢? 简单的说 是用来进行容器编排的 简单的说我们在运行 一些列容器的时候 容器的初始化可以拥有顺序

9.1、安装docker-compose

#安装依赖
yum -y install epel-release
#安装PIP
yum -y install python-pip
#升级PIP
pip install --upgrade pip

pip install -U docker-compose==1.23.2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值