Docker 自学个人总结
前言
因为在公司中用到,而且百度资料各种参差不齐,这里只是以我个人的情况,总结一个大体的学习方向,入个门,能直接运用到工作中。
鄙人渣渣测试一枚,第一次接触到docker是在2017年,那时候是公司内部听架构师讲了下,知道有这个东西,维护环境很方便,环境不是我在管理,后面就不了了之。真正对docker去了解,是在去年,新公司的使用的微服务架构,都是基于镜像去构建,基于这种情况下,对docker进行大概的了解。如下对docker学习以及在公司中常用到的一些服务及命令记录如下。
一、docker基本介绍
1、环境,使用的是阿里云 1C 2G centos7.6
2、菜鸟教程 如果你只想对docker有个基本了解,在公司基本能用就行的,学会以下几个标注的点,学以致用。
3、docker个人见解
- 使用很方便,安装也很快捷
- 基本构建好的镜像,可以直接拿来用,在公司或会在家,不被环境的困扰
- 是开源的应用容器,安装服务,占用资源少
- 但是多个容器的时候,就不方便管理,后面投入到了k8s怀抱,这是后话了
4、centos 安装docker
网上有很多种方法,基本都试过,最方便的还是
yum install docker
(如果安装很快,而且成功,不用管下面,直接跳过)
这种会把docker相关的所有依赖全部安装完成,而且安装快,如果用的不是阿里云服务器,可能需要添加源地址了,这里推荐国内阿里源地址
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
直接这么去添加会报错,需要安装一些软件包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
注解:命令行中 \ ,代表的是换行,直接复制到命令行中即可
5、添加docker镜像加速,使用的阿里云,基于国内网络,建议添加,不然会出现部分镜像pull不下来的情况。需要去阿里云注册个人账号,之后进入控制台搜索“容器”,选择容器镜像服务。
二、docker用法
1、我现在需要安装mysql数据库,但是不想再按网上一条命令执行下载,docker可以快速帮我实现下载安装
docker pull mysql
这里下载的是最新版本,想下载以前的版本,去docker镜像官网,搜索mysql,下载相关版本的mysql
2、这里介绍docker镜像几个操作命令
- 列出本机上的镜像:docker images
- 获取镜像:docker pull 镜像名称:版本号
- 删除镜像:docker rmi 镜像名称
- REPOSITORY 是指仓库名字;
- TAG 一般指版本号;
- IMAGE ID 是指镜像 ID;
- CREATED 指镜像创建时间;
- SIZE 指镜像大小;
4、镜像下载之后,运行容器,启动mysql服务,如果没有先下载镜像,直接运行,docker会先下载镜像,然后启动容器
docker run –itd --name mysql-test –p 3306:3306 –e MYSQL_ROOT_PASSWORD=123456 mysql
5、介绍几个常用的docker容器操作命令
- 拉取指定版本镜像:docker pull centos:centos7
- 启动容器:docker run –itd -–name centos-test centos:centos7
- 查看容器:docker ps
- 进入容器:docker exec –it 容器id /bin/bash
- 停止容器:docker stop 容器id
- 重启容器:docker restart 容器id
- 删除容器(已停止的容器):docker rm –f 容器id
批量删除容器
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
批量删除镜像
docker rmi $(docker image ls -a -q)
需要没有容器运行的情况下
6、Dockerfile、Docker 镜像、Docker 容器的区别
这里引用别人的介绍,他解释的很形象。
https://kaiwu.lagou.com/course/courseInfo.htm?courseId=600#/detail/pc?id=6164
7、Dockerfile制作步骤:
新建Dockerfile文件
打开Dockerfile文件,里面添加相关命令
在Dockerfile文件目录下,执行 docker build -t 镜像名称 .
注意不要忽略命令最后的点 (.)
Dockerfile参考:
三、docker compose
1、Compose是用于定义和运行多容器Docker应用程序的工具,通过YML文件来配置应用程序需要的所有服务
yum install docker-compose
2、一个个下载镜像,配置服务端口,太麻烦,而且也记不了那么多,全写在一个YML文件里,批量执行。
注意version版本2和3,格式有稍许不一样,基于这种格式,可以把常用的服务,全部写在yml文件里,具体的配置参数,根据需要进行添加,几个常用的ports(外部跟容器对接的端口,或者说是映射端口),volumes(文件存放路径),expose(容器内暴露的端口),environment(环境变量)。
后台执行服务:
docker-compose up -d
四、docker学习思路
学习docker总体思路,了解docker的镜像和容器,镜像需要从仓库里面下载,或者自己制作(Dockefile),设置相应的端口和数据存放路径,启动容器,容器出现问题,查看容器日志(docker logs 容器id)。通过docker-compose,把需要的服务通过YML文件编排好,批量启动,统一进行管理。docker先告一段落,余墨记。