以下是我是学习过程中整理的内容,如果有错误的地方,还请指出😃

什么是Docker?

Docker是一个轻量级的应用容器引擎,可以使程序和其依赖打包到一个可移植的容器中。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是运维相关的技术。

Docker的镜像、仓库、容器的概念

镜像相当Java中的类,仓库是相当于Java中的包,而容器则是一个镜像实例化后的对象。仓库中可以包含不同程序和版本的镜像,同一个镜像可以实例化后运行在多个容器中。

如何在Docker上安装Redis并运行?

命令:docker run -d -p 6378:6379 redis
-d代表后台运行,63786379分别为外部端口和内部端口,redis后没有指定版本号,默认为最新版本:latest

Docker镜像如何加速?

由于docker站点在国外,因此延迟较大,可以使用国内公司例如阿里、网易等提供的镜像源。编辑docker配置文件/etc/docker/daemon.json,设置仓库地址为阿里云的地址即可,比如我的https://*******.mirror.aliyuncs.com,编辑后要重新加载配置文件并重启docker。

如何将自己的微服务项目部署到Docker中?

我们的项目仅包含了项目代码,并没有包含项目启动时需要的信息,因此需要用dockerfile文件来描述这些信息,比如FROM java:8代表的是项目通过java8来运行,比如项目文件、端口号、启动方式,然后使用docker build命令根据dockerfile中描述的信息将项目打包成一个镜像文件,然后就可以使用docker run来运行。

Docker的常用命令有那些?

从仓库中查询镜像:docker search {镜像名称}
从仓库中拉取镜像:docker pull {镜像名称}
查看已有镜像:docker images
删除指定镜像:docker rmi {镜像名称}
将程序以后台方式运行在docker容器中:docker run –d –p {外部端口}:{内部端口} {镜像名称}:{版本号}
查看当前所有已经运行的容器:docker ps –a
创建容器:docker create –-name {指定容器名称} {镜像名称}:{版本号}
启动某个容器:docker start {容器名称或容器ID}
停止某个正在运行容器:docker stop {容器名称或容器ID}
删除某个容器(如果容器正在运行则加-f参数):docker rm –f {容器名称或容器ID}
查看某个容器的信息:docker inspect {容器ID}
构建镜像:docker bulid –t {镜像名称}:{镜像的标签} {描述文件dockerfile的位置}
进入容器:docker container exec -it {容器名称或容器ID} /bin/bash

Docker中安装的软件如何修改配置?

在容器外部建立一个配置文件,然后启动时将此文件挂载到容器内配置文件中,即启动时:docker run -d -p 80:80 -v {容器外配置文件位置}:{容器内配置文件位置} -d {程序名称}

使用docker安装mysql、nginx

安装5.7版本的mysql:docker run -d -p 3308:3306 mysql:5.7
安装最新版nginx:docker run -d -p 81:80 nginx