SpringCloud第一篇Docker基础

文章目录

一、常见命令

Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/

需求:

在DockerHub中搜索Nginx镜像,查看镜像的名称

c 复制代码
docker pull nginx

拉取Nginx镜像

查看本地镜像列表

c 复制代码
docker images

创建并运行Nginx容器

c 复制代码
docker run -d --name nginx -p 80:80 nginx

查看容器

c 复制代码
docker ps
docker ps -a

停止容器

c 复制代码
docker stop nginx

再次启动容器

c 复制代码
docker start nginx

进入Nginx容器

c 复制代码
docker exec -it nginx bash
#退出容器
exit

删除容器

c 复制代码
docker rm mysql
docker rm -f mysql 

二、数据卷

数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。

三、数据挂载

查看容器是否与宿主机挂载

c 复制代码
docker inspect 容器名

Mounts目录下为挂载信息

c 复制代码
docker inspect mysql

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v /root/mysql/data:/var/lib/mysql \
  -v /root/mysql/init:/docker-entrypoint-initdb.d \
  -v /root/mysql/conf:/etc/mysql/conf.d \
  mysql

四、自定义镜像

镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

更新详细语法说明,请参考官网文档: https://docs.docker.com/engine/reference/builder

案例:

我们可以基于Ubuntu基础镜像,利用Dockerfile描述镜像结构

c 复制代码
# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录、容器内时区
ENV JAVA_DIR=/usr/local
# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./docker-demo.jar /tmp/app.jar
# 安装JDK
RUN cd $JAVA_DIR \ && tar -xf ./jdk8.tar.gz \ && mv ./jdk1.8.0_144 ./java8
# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin
# 入口,java项目的启动命令
ENTRYPOINT ["java", "-jar", "/app.jar"]

也可以直接基于JDK为基础镜像,省略前面的步骤:

c 复制代码
# 基础镜像
FROM openjdk:11.0-jre-buster
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

五、网络

默认情况下,所有容器都是以bridge方式连接到Docker的一个虚拟网桥上:

加入自定义网络的容器才可以通过容器名互相访问,Docker的网络操作命令如下:

相关推荐
hackchen1 小时前
NexusTerminal一款视频移动端的webSSH
docker·云原生·eureka·web-ssh
蓝色天空的银码星3 小时前
SpringCloud微服务架构下的日志可观测解决方案(EFK搭建)
spring cloud·微服务·架构
IT_10244 小时前
springboot从零入门之接口测试!
java·开发语言·spring boot·后端·spring·lua
皮皮林5514 小时前
项目终于用上了 Spring 状态机,太优雅了!
spring
迢迢星万里灬5 小时前
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术点解析
java·spring boot·spring·mybatis·spring mvc·面试指南
开开心心就好7 小时前
高效账号信息管理工具,可安全随机生成密码
javascript·安全·docker·智能手机·pdf·word·excel
Hanson Huang7 小时前
【Spring AI 1.0.0】Spring AI 1.0.0框架快速入门(2)——Prompt(提示词)
java·人工智能·spring·spring ai
谷新龙0018 小时前
docker compose部署kafka
docker·容器·kafka
.生产的驴8 小时前
SpringBoot 服务器监控 监控系统开销 获取服务器系统的信息用户信息 运行信息 保持稳定
服务器·spring boot·分布式·后端·spring·spring cloud·信息可视化
ascarl20109 小时前
准确--CentOS 7.9在线安装docker
linux·docker·centos