Docker总结

一、Docker基本操作

1.1 安装Docker

  1. 下载Docker的依赖环境

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

  2. 设置阿里云镜像源

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

  3. 安装Docker

    yum makecache fast(缓存)

    yum -y install docker-ce(Docker服务)

  4. 启动Docker服务

    systemctl start docker

    设置开机自启

    systemctl enable docker

1.2 检查Docker

  1. 查看Docker版本

    docker -v

  2. 查看启动状态

    docker state

  3. 查看Docker运行状态

    docker info

1.3 测试Docker

docker run hello-world

拉取并运行hello-world镜像,出现如下界面说明Docker正常运行。

二、镜像的操作

2.1 拉取镜像到本地

docker pull 镜像名称[:tag]

2.2 查看全部本地的镜像

docker images

2.3 删除本地镜像

docker rmi 镜像的标识

2.4 镜像的导入导出

导出本地镜像

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

加载本地镜像

docker load -i 镜像文件

2.5 修改镜像名称

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

三、容器的操作

3.1 运行容器

  1. 简单操作

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

  2. 常用参数

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

    -d:代表后台运行容器
    (不加-d会占满整个界面来运行你的容器,如果执行其他操作容器将会停止)
    -p:宿主机端口:容器端口:为了映射Linux的端口和容器的端口
    (让其他操作系统访问虚拟机下的操作系统端口)
    –name 容器名称:指定容器的名称

3.2 查看正在运行的容器

docker ps [-qa]

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

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

3.3 查看容器的日志

docker logs -f 容器id

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

3.4 进入到容器内部

docker exec -it 容器id bash

使用exit退出容器内部。

3.5 删除容器(需要先停止容器)

删除指定容器:

docker rm 容器id

删除多个容器:

docker rm $(docker ps -qa)

3.6 停止容器

停止指定容器:

docker stop 容器id

停止多个容器:

docker stop $(docker ps -qa)

3.7 启动容器

docker start 容器id

3.8 复制文件到容器内部

例如将ssm.war添加至tomcat镜像容器中,fe为容器id

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

四、数据卷

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

可以在宿主机中操作目录中的内容,容器内部映射的文件也会一起发生改变。

3.8节在容器内部直接进行操作就是不推荐的。

4.1 创建数据卷

docker volume create 数据卷名称

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

4.2 查看数据卷详细信息

docker volume inspect 数据卷名称

4.3 查询全部数据卷

docker volume ls

4.4 删除数据源

docker volume rm 数据卷名称

4.5 应用数据卷

当你映射数据卷时,如果数据卷不存在,Docker会帮你自动创建。

这种方式会将容器内部自带的文件存储在默认的映射路径下,第二种不会。

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

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

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

五、自定义镜像

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

5.1 创建镜像文件

创建一个Dockerfile文件(无后缀),并且指定自定义镜像信息。

该文件中常用的内容:

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

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

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

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

5.2 制作镜像

将准备好Dockerfile和相应的文件拖拽到Linux操作系统中,通过Docker的命令制作镜像。

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

.表示把当前路径下的Dockerfile制作成一个自定义镜像。

六、Docker-Compose

正常运行一个镜像,需要添加大量的参数,也许还有来自其他软件的参数。

但可以通过Docker-Compose编写这些参数,它还可以帮助我们批量地管理容器。

而且只需要一个docker-compose.yml文件去维护即可。

6.1 下载

  1. 去github官网搜索docker-compose下载合适的版本。

    https://github.com/docker/compose

  2. 将下载好的文件,拖拽到Linux系统中。

  3. 为了方便操作,修改文件名;再修改文件权限为可执行文件。

    mv docker-compose-Linux-x86_64 docker-compose

    chmod 777 docker-compose

  4. 为了方便在任何目录下使用docker-compose,将其所在目录配置到环境变量中。

    移动文件到bin目录,方便配置环境:

    mv docker-compose bin

    修改配置文件:

    vi /etc/profile

    在文件末尾添加:

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

  5. 测试。

    source /etc/profile

    回到根目录下:

    cd ~

    使用docker-compose命令,查看是否成功:

    docker compose

    显示如下界面,表示环境变量配置成功:

6.2 编写配置文件

docker-compose.yml以Key:Value方式来指定配置信息。

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

在该文件中,不要使用制表符。

以管理Mysql和Tomcat容器为例:

version: `3.7`
services:
  mysql:  # 服务的名称
    restart: always  #只要docker启动,那么这个容器就启动
    image: daocloud.io/library/mysql:5.6.17  #指定镜像路径
    container_name: mysql  #指定镜像名称
    ports:
      - 3306:3306  # 指定端口号映射
    environment:
      MYSQL_ROOT_PASSWORD: password  #指定mysql登录密码
      TZ: Asia/Shanghai  # 指定时区
    volumes:
      - /opt/docker_mysql/data:/var/lib/mysql  #数据卷映射
  tomcat:
    restart: always
    images: daocloud.io/library/tomcat:8.5.19-jre8
    container_name: tomcat
    ports:
      - 8080:8080
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
      - /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs

6.3 管理容器

在使用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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值