Docker  入门

一.Docker的基本操作

2.0安装:

  aliyun:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

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

       # 指定下载源

       yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

       # 生成缓存

       yum makecache fast

       # install

       yum -y install docker-ce

 

2.1 Docker 启动以及测试

# 启动docker服务

systemctl start docker

# 设置开机自启

systemctl enable docker

# 测试

docker run hello-world

 

2.2 Docker的中央仓库

    1. Docker官方的中央仓库。下载速度较慢

       https://hub.docker.com

    2. 国内的镜像网址:网易蜂巢,daoCloud...

       https://c.163yun.com/hub#/home

       https://hub.daocloud.io/   (推荐使用)

 

2.3 镜像的操作

       # 拉取镜像到本地

              docker pull 镜像名称[:tag]

              # example:

              docker pull daocloud.io/library/tomcat:8.5.15-jre8

      

       # 查看本地全部镜像

              docker images

 

       # 删除本地镜像

              docker rmi 镜像唯一标识

      

       # 镜像的导入导出(不规范)

       # 将本地的镜像导出

              docker save -o 导出的路径 镜像id

       # 加载本地的镜像文件

              docker load -I 镜像文件

       # 修改镜像名称

              docker tag 镜像id 新镜像名称:镜像版本

 

2.4 容器的操作

       # 1. 运行容器

       # 简单操作

              docker rum 镜像的标识 | 镜像名称[:tag]

       # 常用的参数

              docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识 | 镜像名称[:tag]

              # -d: 代表后台运行容器

              # -p:宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口

              # --name:容器名称:指定容器的名称

 

       2. 查看正在运行的容器

              docker ps [-qa]

              # -a:查看全部容器,包括没有运行的

              # -q:只查看容器的标识

 

       3. 查看容器日志

              docker logs -f 容器id

              # -f:可以滚动查看日志的最后几行

 

       4. 进入到容器内部

              docker exec -it 容器id bash

 

       5. 删除容器(删除容器前,首先要停止容器)

              docker stop 容器id

      

       # 停止全部容器

docker stop $(docker ps -qa)

 

       # 删除单个容器

              docker rm 容器id

       # 删除全部容器

              docker rm $(docker ps -qa)

 

       6. 启动容器

              docker start 容器id

 

三. Docker应用

       3.1准备SSM工程

              # 任务完成

       3.2准备MySQL容器

              # 运行mysql容器

              docker run -d -p 3306:3306 –name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.4

              # -e 指定登录数据库时root用户的密码

       3.3准备Tomcat容器

              # 可以查考前面的mysql

              # 通过命令将宿主机的内容复制到容器内部

              docker cp 文件名称 容器id:容器内容路径

              # example:

              docker cp ssm.war fe:/usr/local/tomcat/webapps/

 

       3.4数据卷

              为了部署SSM的工程,需要使用到cp的命令将宿主机内的ssm.war文件复制到容器内部。

              数据卷:将宿主机的一个目录映射到容器的一个目录中。

              可以在宿主机中操作目录的内容,那么容器内容映射的文件也会跟着改变。

              # 1. 创建数据卷

              docker volume create 数据卷名称

              # 创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data

 

              # 2. 查看数据卷的详细信息

              docker volume inspect 数据卷名称

      

              # 3. 查看全部数据卷

              docker volume ls

 

              # 4. 删除数据卷

              docker volume rm tomcat

             

              # 5. 应用数据卷

              # 当你映射数据卷时,如果数据卷不存在。docker会帮你自动创建,会将容器内部自带的文件,存储在默认的存放路径中。

              docker run -v 数据卷名称:容器内容的路径 镜像id

              # 直接指定一个路径作为数据卷的存放位置。这个路径下是空的。

              docker run -v 路径:容器内部的路径 镜像id

 

四. 下载Docker-Compose

              # 1. github官网搜索docker-compose,下载docker-compose。

              https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64

             

              # 2. 将下载好的文件放入Linux操作系统中。

      

              # 3. 需要将DockerCompose文件的名称修改一下,基于Cokcercompose文件一个可执行的权限。

              mv docker-compose-Linux-x86_64 docker-compose

              chmod 777 docker-compose

             

              # 4. 方便后期操作,配置一个环境变量。

              # 将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件。给/usr/local/bin配置到了PATH中

              mv docker-compose /usr/local/bin

              vim /etc/profile

                     export PATH=$JAVA_HOME:/usr/local/bin:$PATH

             

              加载文件:source /etc/profile

 

              # 5. Docker-Compose管理MySQL和Tomcat容器

              yml文件以key:value方式来指定配置信息

              多个配置信息以换行+缩进的方式来区分

              在docker-compose.yml文件中,不要是用制表符

             

              # yml文件编写格式如下:

              version: ‘3.1’

              services:

                mysql:                # 服务的名称

                    restart: always     # 代表只要docker启动,这个容器就会启动

                    image: daocloud.io/library/mysql:5.7.4   # 指定镜像路径

                    container_name: mysql                # 指定容器名称

                    ports:

- 3306:3306                       # 指定端口号的映射

                    environment:

                       MYSQL_ROOT_PASSWORD: root    # 指定MySQL的root用户登录密码

                 TZ: Asia/Shanghai                 # 指定时区

              volumes:

                       - /opt/docker_mysql/data:/var/lib/mysql   # 映射数据卷

                tomcat:               

                    restart: always     

                    image: daocloud.io/library/tomcat:8.5.15-jre8 

                    container_name: tomcat               

                    ports:

- 8080:8080                       

                    environment:

                 TZ: Asia/Shanghai               

              volumes:

                       - /opt/docker_mysql_tomcat/tomcat_data:/usr/local/tomcat/webapps  

                          - /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs

 

五. 使用docker-compose命令管理容器

       在使用docker-compose的命令是,默认会在当前目录下找到docker-compose.yml文件。

      

       # 1. 基于docker-compose.yml启动管理的容器

       docker-compose up -d

      

       # 2. 关闭并删除容器

       docker-compose down

 

       # 3. 开启 | 关闭 | 重启已经存在的由docker-compose维护的容器

       docker-compose start | stop | restart

 

       # 4. 查看由docker-compose管理的容器

       docker-compose ps    

      

       #5. 查看日志

       docker-compose logs -f

 

六. Docker自定义镜像

       中央仓库的镜像,也是Docker的用户自己上传过去的

      

       # 1. 创建一个Dockerfile文件,并且制定自定义镜像信息

       # Dockerfile文件中常用的内容

       from: 指定当前自定义镜像依赖的环境

       copy: 将相对路径下的内容复制到自定义镜像中

       workdir: 声明镜像的默认工作目录

       cmd: 需要执行的命令(本命令在workdir下的,cmd可以写多个,只以最后一个为准)

       # 几个例子,自定义一个tomcat镜像,并且将index.html部署到tomcat中

       from daocloud.io/library/tomcat:8.5.55-jdk11

copy index.html /usr/local/tomcat/webapps

 

# 2. 将准备好的Dokcerfile相应的文件拖拽到相应的系统中,通过Dokcer的命令制作镜像

docker build -t 镜像名称:[tag] .

# ‘ . ‘ 代表当前目录

# -t 代表以名称:版本号格式格式执行命令

      

 

七. Docker CI, CD

       7.1引言

              项目部署

  1. 将项目通过maven进行编译打包
  2. 将文件上传到指定服务器中
  3. 将war包放在tomcat和war包转成一个镜像,由DokcerCompose去运行容器

  将上述流程再次的从头到尾的执行一次

       7.2 CI介绍

              CI (continuous intergration)持续集成

  1. 快速发现错误
  2. 防止代码偏离主分支

  7.3 实现持续集成

       搭建Gitlab服务器

  1. 创建一个全新的虚拟机,并且至少指定4G运行内存
  2. 安装docker以及docker-compose
  3. docker-compose.yml文件去安装gitlab

参考:https://www.bilibili.com/video/BV1sK4y1s7Cj?p=10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值