Docker基础以及使用Docker发布SpringBoot项目

在这里插入图片描述
Docker官网

docker 查看版本

docker version

docker下载(最新版本)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

docker指定版本下载

##安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
 
##添加docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
##更新源
yum update

##指定下载18.09.0版本
yum install -y docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io
##版本降级 降到指定版本
##yum downgrade --setopt=obsoletes=0 -y docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io

启动docker

sudo systemctl start docker

docker卸载旧版本命令

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

docker安装仓库

yum install -y yum-utils

配置docker阿里云镜像
或直接访问 https://promotion.aliyun.com/ntms/act/kubernetes.html3

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置成功后可以使用docker info查看是否配置成功或是进入 /etc/docker中查看daemon.json文件是否配置了
配置完成后执行 systemctl restart docker 重启docker

{
  "registry-mirrors": ["https://t81qmnz6.mirror.aliyuncs.com"]
}

docker查看可以下载的镜像
nginx是镜像名称用于代理

docker search nginx

docker下载镜像
默认下载最后一个版本

docker pull nginx
#指定下载1.8版本的
docker pull nginx:1.8

docker 查看已下载的镜像

docker images
docker image ls

docker 登录harbor

docker login -u admin -p 123456 192.168.0.1:8080
docker login -u 用户名 -p 密码 harbor的IP地址:harbor的暴露端口

docker 为镜像打印标签

docker tag javaapplication:1 192.168.0.1:8080/javaproject/javaapplication:1
docker tag 镜像名称:版本 harbor地址:harbor端口/harbor模块/上传后的镜像名称

docker 发布镜像

docker push 192.168.0.1:8080/javaproject/javaapplication:1
docker push 刚才打标记的镜像

docker退出harbor

docker logout

docker 查看Dockerfile 打包过程

docker history 

docker运行镜像

docker run nginx
#指定后台运行 -d 
#随机映射端口 -P
#选择映射端口 -p 例如 8080:90908080代表外部访问的端口,9090表示容器内部端口)
#挂载镜像文件 -v  (ro容器只读 rw容器读写)
#以交互模式运行容器 -i
#为容器重新分配一个伪输入终端 -t
#重命名  --name
#环境 -e
例如:
docker run -d -it -p 80:80 --name "nginx01" -v /home/config:/usr/nginx/config:rw nginx
docker run -itdp 3306:3306 --restart always --name mysql -v /home/mysql/data:/var/lib/mysql:rw -e MYSQL_ROOT_PASSWORD="root" mysql:5.7

#请注意 卷挂载时候,如果仅挂载指定文件需要重新容器修改的东西才出现到容器里,而直接挂载目录在外部修改文件会直接同步到容器里

docker 查看运行记录
请注意CONTAINERID 是docker ps 命令后查看结果的一个列,类似于主键,代表容器id

docker logs CONTAINERID  

docker 进入运行的容器

docker exec -it CONTAINERID /bin/bash

docker退出进入的容器

exit

docker查看运行中的容器

docker ps
#查看所有的容器
docker ps -a
#查看停止的容器
docker ps -l

docker获取容器的元数据

docker inspect CONTAINERID  

docker 停止容器

docker stop CONTAINERID

docker 启动停止的容器

docker start CONTAINERID

docker 重启容器

docker restart CONTAINERID

docker 删除运行的容器

docker rm -f CONTAINERID

docker删除全部下载的镜像与 rm -rf /* 类似

docker rmi -f $(docker images -q)

docker删除下载的镜像

docker rmi nginx

docker镜像打成压缩包

docker save -o ./rabbitmq.tar rabbitmq:management

docker导入压缩包后的镜像

docker load -i ./rabbitmq.tar

springboot项目打包发布docker
编写Dockerfile

FROM java:8
WORKDIR /maven
ENV JAVA_OPTS="-XX:+UseG1GC"
COPY home/project/java.jar java.jar
ENTRYPOINT ["sh","-c","java -jar ${JAVA_OPTS} java.jar"]

-------------------------------------Dockerfile编写详情 点击查看 ----------------------------------------------
docker命令发布jar包
请注意 javaapp 是镜像的名称自己定义

docker build -t javaapp .

docker拷贝

docker cp /home/config CONTAINERID:/config

docker 网络查看

docker network ls

创建自定义docker网络
请注意多个网桥之间网络IP段不能重复

docker network create --driver bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 mybridge

docker容器之间网络互通

#起两个不同容器名称的项目保持有一个网桥下边
docker run -itdP --name javaa --net mybridge javaapplication:1
docker run -itdP --name javab --net mybridge javaapplication:1
#通过ping来查看是否相通
docker exec -it javaa ping javab

docker 不同网桥下进行网络互通

#起一个不同上边的容器名称,不同网桥的容器
docker run -itdP --name javac javaapplication:1
#将需要互通的网络进行关联
docker network connect mybridge javac
#查看网络的互通情况
docker exec -it javaa ping javac
#查看之前网桥的集体信息
docker network inspect mybridge 

查看docker配置信息

dockr info

查看docker与虚拟机网络关系

ip addr
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值