docker--学习(二)

一、操作容器相关的命令

  • 查看当前所有正在运行的容器
docker ps 
  • 查看所有容器,包括正在运行、已停止、正在重启等所有状态的容器
docker ps -a
  • 停止某个容器
docker stop 容器id
  • 重启某个容器
docker restart 容器id
  • 启动某个已停止的容器
docker start 容器id
  • 以交互的方式进入到某个正在运行的容器内
docker exec -it 容器id bash
  • 生成随机的端口映射: -P 指定端口:-p 8080:8080
docker run -P tomcat
  • 以守护态方式运行:-d 运行的时候不会占用主进程。
docker run -P -d tomcat
  • 给容器起名字
docker run -p 8080:8080 -d --name mytomcat tomcat
  • 删除容器的命令
docker rm 容器id

二、数据卷

1.使用数据卷的场景

我们发现 ,当前需要把自己的项目部署成一个docker容器。那么之前的办法是必须要创建一个自定义镜像,然后用自定义镜像生成容器来部署。但是用这种方式,即生成了docker容器,又生成了自定义镜像。比较繁琐。那么目前如果只希望有一个自定义的docker容器,那么就可以使用数据卷的方式。——挂载

2.如何使用数据卷

我们以为,宿主机中的数据是上传到官方镜像中的指定目录内的。实际不然,应该是宿主机指定目录和官方镜像的目录使用的是同一片空间——数据卷最重要的点!

数据卷命令:

docker run -p 9090:8080 -v 宿主机的目录:容器内的目录 tomcat:8.5.23
docker run -p 9090:8080 -v /usr/local/docker/ssm_volume/ROOT/:/usr/local/tomcat/webapps/ROOT/ tomcat:8.5.23

3.使用数据卷解决的问题

  • 快速的获得自定义容器
  • 让多个容器与宿主机之间实现数据的共享
  • 当容器挂掉,但数据依然保存在宿主机的数据卷(磁盘)内。

三、docker-compose

我们可以理解成,它是官方提供的工具,用于快速启动多个容器,实现容器编排。但是,这种容器编排是有局限性,企业里面专业一些的话会使用kubernates来做。

1.为什么要用docker-compose

回顾刚才启动mysql容器的步骤,我们发现,每次启动的命令是非常多的。服务一多,容器一多,容器的启动顺序也需要固定,管理非常不方便,于是docker-compose就孕育而生了。

2.如何使用docker-compose

  • 安装
curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

  • 赋予配置文件可执行的权限,一定不要忘了
chmod +x /usr/local/bin/docker-compose

通过docker-compose -v命令查看版本,如果有就成功了

3.体验docker-compose

编写docker-compose.yml文件,通过docker-compose up命令启动。注意,该命令必须在docker-compose.yml路径下执行

version: '3.1'
services:
  web1: #自定义的
    image: tomcat:8.5.23  # image 固定写法
    container_name: mytomcat1
    volumes: # 是一个数组,- 表述数组里的一个元素
       - /usr/local/docker/ssm_volume/ROOT:/usr/local/tomcat/webapps/ROOT/
    ports:
       - 9091:8080
  web2:
    image: tomcat:8.5.23
    container_name: mytomcat2
    volumes:
       - /usr/local/docker/ssm_volume/ROOT:/usr/local/tomcat/webapps/ROOT/
    ports:
       - 9092:8080

4.docker-compose相关的命令

注意: 是必须使用在docker-compose.yml路径下的

  • 启动docker-compose的命令
docker-compose up # 启动后进入到日志
docker-compose up -d # 以守护态的方式运行

  • 查看所有的docker-compose启动的容器
docker-compose ps

  • 重启 docker-compose中的所有服务
docker-compose restart 

  • 停止
docker-compose stop # 停止所有服务
docker-compose down # 停止并删除所有服务

  • 启动
docker-compose start # 启动被停止的所有服务

posted @ 2021-07-21 16:08  牛奶配苦瓜  阅读(39)  评论(0编辑  收藏  举报