Docker
一、Linux上Docker的下载与安装
1.1docker的三个基本概念:
-
仓库(Repository)
-
镜像(Image)
-
容器(Container)
1.2在Linux上安装Docker
建议Centos6.5以上版本,Linux3.8内核以上
所有需要选择**,输入y即可**
1.2.1.root账户查看内核版本:
[root@localhost ~]uname -a
1.2.2.把yum包更新到最新
[root@localhost ~]yum update
1.2.3安装需要的软件包
yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
[root@localhost ~]yum install -y yum-utils device-mapper-persistent-data lvm2
1.2.4设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo(阿里仓库)
1.2.5可以查看所有仓库中所有docker版本并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
1.2.6安装Docker,命令:yum install docker-ce-版本号,这里选的是docker-ce-18.03.1.ce
yum install docker-ce-18.03.1.ce
1.2.7 启动Docker,命令:systemctl start docker,然后加入开机启动,如下
#启动docker
[root@localhost ~]systemctl start docker
#查看docker的状态
[root@localhost ~]systemctl status docker
#加入开机启动
[root@localhost ~]# systemctl enable docker
#查看docker版本
[root@localhost ~]# docker version
1.3将jar包打包成docker镜像,并部署运行
1.3.1创建Dockerfile脚本
#拉取jkd8的docker image
FROM java:8
#将所有jar包添加到镜像中,并且替换jar包名为app
COPY *.jar/app.jar
#设置指令
CMD ["--server.port=8080"]
#暴露端口, 该容器暴露的端口是多少,就是jar在容器中以多少端口运行
EXPOSE 8080
#容器启动之后执行的命令,java -jar app.jar 即启动jar
ENTRYPOINT["java","-jar","/app.jar"]
1.3.2创建好Dockerfile文件后,将文件与我们打包好的服务jar包,上传至linux,执行命令,构建镜像
javaapp:是构建之后的镜像名称
. 代表Dockerfile在当前目录下
docker build -t javaapp .
1.3.3镜像构建成功之后,就可以运行容器:
demo: 创建的docker容器的名字
-p 2222:8080: 映射宿主的端口与docker容器的端口
javaapp: 运行哪个镜像
docker run -d --restart=always --name demo -p 2222:8080 javaapp
这个表示docker容器在停止或服务器开机之后会自动重新启动 --restart=always,并且从开启即从后台运行
1.4其余docker常用指令
docker ps 查看当前正在运行的容器
docker ps -a 查看所有容器的状态
docker start/stop id/name 启动/停止某个容器
docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
docker images 查看本地镜像
docker rm id/name 删除某个容器
docker rmi id/name 删除某个镜像