美文网首页java进阶之路
Docker基本操作,以及基于Docker部署SpringBoo

Docker基本操作,以及基于Docker部署SpringBoo

作者: Bury丶冬天 | 来源:发表于2018-05-09 23:13 被阅读0次

所有操作均在CentOS7.2环境下,使用ROOT用户登录,本篇文章仅做为记录,方便自己日后查看.

1.docker基本操作

  • 安装docker,依次执行以下命令
yum update
yum install docker
  • 启动docker
systemctl start docker
  • 设置开机自启
systemctl enable docker
  • 查看docker版本
docker -v
  • 更换docker容器镜像服务为阿里的仓库地址
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://vxozked9.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
  • 搜索镜像
docker search 镜像名
  • 下载镜像
docker pull 镜像名
  • 重命名镜像的REPOSITORY
docker tag IMAGE_ID NEW_NAME
  • 查看本地镜像
docker images
  • 删除指定镜像 删除镜像前需要先删除占用的容器
docker rmi image-id
  • 删除所有镜像
docker rmi $(docker images -q)
  • 查看运行的容器列表
docker ps
  • 查看所有的容器的状态
docker ps -a
  • 运行镜像 -d 参数使容器在后台运行 --name 指定容器的名称,可以使用 -e 传递启动参数给容器
docker run --name 容器名 -d image-name
//例如  启动redis
docker run --name test-redis -d redis
  • 端口映射 例如 映射redis端口
docker run -d -p 6379:6379 --name test-redis redis
  • 启动容器
docker start container-name/container-id
  • 停止容器
docker stop container-name/container-id
  • 删除容器
//删除指定容器
docker rm container-id
/删除所有容器
docker rm $(docker ps -a -q)
  • 常看容器日志
docker logs container-name/container-id
  • 登录容器
docker exec -it container-name/container-id bash
  • 编译镜像
docker build -t 镜像名 Dockerfile文件路径

2.部署SpringBoot项目

1.创建SpringBoot项目,将项目pom.xml文件中的springBoot maven插件

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <!--加上这个配置-->
  <configuration>
    <executable>true</executable>
  </configuration>
</plugin>

2.将项目打成jar包
3.复制jar包到 /var/apps/demo.jar
4.在 /var/apps/ 目录创建 Dockerfile文件,输入以下内容

#基于java 8 镜像
FROM java:8
#作者
MAINTAINER wangkaibo
#将 与Dockerfile文件同目录的demo.jar文件复制到镜像中(Linux操作系统的根目录)名称为 app.jar
ADD demo.jar app.jar
#让 运行镜像的容器 去监听8080端口
EXPOSE 8080
#镜像启动时运行 java -jar /app.jar命令
ENTRYPOINT ["java","-jar","/app.jar"]
  1. 编译镜像
#不能漏掉   最后的  .   这个点表示当前目录   指定Dockerfile的路径   即当前目录
cd /var/apps
docker build -t wisely/demo-docker .

6.运行

[root@kaibo apps]# docker run -d --name demo -p 8080:8080 wisely/demo-docker
58e4a152c1b5f3780bdc66541a83c57957488976c9bc0a57451109ad1575df6e

7.查看容器输出

[root@kaibo apps]# docker logs 58e4a152c1b5f3780bdc66541a83c57957488976c9bc0a57451109ad1575df6e
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.1.RELEASE)
2018-05-09 14:13:54.429  INFO 1 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication v0.0.1-S                  NAPSHOT on 58e4a152c1b5 with PID 1 (/app.jar started by root in /)
2018-05-09 14:13:54.442  INFO 1 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling ba                  ck to default profiles: default
......

8.查看容器运行状态

[root@kaibo apps]# docker ps
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS              PORTS                    NAMES
58e4a152c1b5        wisely/demo-docker   "java -jar /app.jar"   57 minutes ago      Up 57 minutes       0.0.0.0:8080->8080/tcp   demo

相关文章

网友评论

    本文标题:Docker基本操作,以及基于Docker部署SpringBoo

    本文链接:https://www.haomeiwen.com/subject/smcarftx.html