Docker基本操作,以及基于Docker部署SpringBoot项目

  • 安装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
//启动fund-app并指定日志输出路径
docker run -d -v /var/apps/logs/:/logs/ -p 8081:8081  fund-app
  • 端口映射 例如 映射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文件路径

部署Spring boot项目

1.将项目打成jar包

2.复制jar包到 /var/apps/fund-app.jar

3.在 /var/apps/ 目录创建 Dockerfile文件,输入以下内容

FROM java:8

ARG JAVA_OPTS="-Xms256m -Xmx256m"

ADD fund-api.jar fund-api.jar
EXPOSE 8081

ENTRYPOINT java $JAVA_OPTS -jar /fund-api.jar

4.编译镜像

#不能漏掉最后的. 这个点表示当前目录,指定Dockerfile的路径   即当前目录
cd /var/apps
docker build -t fund-app .

5.运行

//启动fund-app并指定日志输出路径
docker run -d -v /var/apps/logs/:/logs/ -p 8081:8081  fund-app

6.查看容器输出

docker logs 01e9d11de78cb0a84647d341e7e850c2922b8d453a657489e4674d24a51ccd6a

7.查看容器运行状态

docker ps

docker以配置文件方式启动redis

1.创建文件夹,新建配置文件贴入从官网下载的配置文件并修改

http://download.redis.io/redis-stable/redis.conf

mkdir /usr/local/docker

vi /usr/local/docker/redis.conf

2.修改启动默认配置(从上至下依次):

bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问

protected-mode no #默认yes,开启保护模式,限制为本地访问

daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败

databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。

dir  ./ #输入本地redis数据库存放文件夹(可选)

appendonly yes #redis持久化(可选)

3.docker启动redis命令:

docker run -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

命令解释说明:

-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。

--name myredis  指定该容器名称,查看和进行操作都比较方便

-v 挂载目录,规则与端口映射相同。

为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。

-d redis 表示后台启动redis

redis-server /etc/redis/redis.conf  以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值