Docker从安装到使用-实战篇
Linux下安装Docker
1.确认Linux版本
安装Docker对Linux内核版本有要求,需要3.10以上的内核才能安装,一半CentOS 7以上的内核都是在3.10以上的。
可以通过命令查看当前Linux内核版本
[root@iZwz955czz7lmt25842zsdZ ~]# uname -r
3.10.0-1062.4.3.el7.x86_64
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
2.确保yum为最新版本
避免在安装过程中出现问题,我们需要将yum版本更新至最新版本,需使用root账号运行
yum -y update
3.安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置docker的yum源(阿里镜像)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.查看所有Docker版本
yum list docker-ce --showduplicates | sort -r
6.安装Docker
不加版本号的话默认安装最新版本,安装过程中输入y回车确认即可,等待几分钟即可安装完毕
yum install docker-ce
7.启动Docker
启动Doker并设置开机启动
systemctl start docker
systemctl enable docker
8.查看Docker版本
如果能查看docker版本,即此次安装成功
docker version
Docker常用命令
#查看当前docker容器已安装的镜像
docker images
#查看当前docker容器运行中的镜像
docker ps
#查看当前docker容器中的所有镜像
docker ps
#启动镜像
docker run
#停止镜像,name可从查看镜像中得到
docker stop 容器名称
使用Docker安装软件
安装nginx
docker run命令会启动名为nginx的镜像,如果还没有安装该镜像,会自动从云端下载该镜像,默认是下载最新版本,如果需要指定版本,在后面加上:版本号即可;
-d参数代表后台启动该镜像;
-p参数代表启动端口号,此处有2个端口号,第一个端口号表示从外部访问该镜像时的端口号,第二端口号表示镜像实际的端口号,两个端口号可以一样;
docker run -d -p 80:80 nginx
安装redis
先在宿主机中创建好redis文件夹(用来放配置文件和数据文件)
mkdir -p /usr/local/dockerapp/redis/{conf,data}
在网上随便找一个redis初始配置文件,修改其中几个配置:
修改前:
bind 127.0.0.1
protected-mode yes
appendonly no//持久化
daemonize yes
修改后:
#bind 127.0.0.1
protected-mode no
appendonly yes//持久化
daemonize no
启动容器
docker run -d --privileged=true --name redis -p 6379:6379 -v /usr/local/dockerapp/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/dockerapp/redis/data:/data redis redis-server /etc/redis/redis.conf
命令详解:
docker run
-d #后台启动
--privileged=true #给予容器权限
--name redis #容器命名
-p 6379:6379 #端口映射
-v /usr/local/dockerapp/redis/conf/redis.conf:/etc/redis/redis.conf #挂载配置文件
-v /usr/local/dockerapp/redis/data:/data #挂载数据
redis
redis-server /etc/redis/redis.conf #以配置文件方式启动
使用Docker部署SpringBoot项目
编写Dockerfile
在jar包的同一目录下创建一个Dockerfile文件(名字不能错),文件内容如下:
#需要使用到的Java版本,如果找不到的话docker会自动从云端下载
FROM java:8
#将springboot.jar包添加到容器中并命名为app.jar
ADD springboot.jar /app.jar
#jar包启动命令
ENTRYPOINT ["java","-jar","-jar","/app.jar"]
生成镜像
docker build -t app .
这时使用docker images命令查看已安装镜像,可以看到我们新生成的app镜像
运行镜像
docker run -d -p 80:8080 app
大功告成,现在就可以从80端口正常访问,第一个80端口是可以随意更改的,但第二个8080一定要对应项目中配置的端口哦