Docker
安装Docker
1、yum -y install gcc
2、 yum -y install gcc-c++
3、安装docker库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、更新yum软件索引
yum makecache fast
5、安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
6、启动docker
systemctl start docker
7、holle word测试
sudo docker run hello-world
8、卸载
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
客户端命令
启动docker :systemctl start docker
停止docker:systemctl stop docker
重启docker :systemctl restart docker
开机启动:systemctl enable docker
查看帮助文档:docker [具体命令] --help
镜像命令
列出本地镜像:docker images
查找远程仓库镜像:docker search redis
下载镜像:docker pull name[:TAG]
查看镜像容器的空间使用: docker system df
删除镜像:docker rmi -f id
导出镜像为tar包:docker save -o fjsonT.tar fjson
导入tar包为镜像:docker load -i fjsonT.tar
容器命令
启动容器:docker run -it name
docker run -it [name] /bin/bash
//其中-it:启动交互式容器,Ctrl+P+Q:退出界面并启动守护式容器,exit:关闭实例化。-d :启动守护式容器
进入交互式容器:docker exec -it id /bin/bash
启动已停止的容器:docker start [id]
重启容器:docker restart [id]
停止容器示例:docker stop [id]、exit
移除容器 docker rm id
查看docker中所有容器:docker ps -a
查看docker中运行的示例情况 docker top id
从容器拷贝内容到主机:docker cp id:docker目录 宿主机目录 。栗子:docker cp 4d57945febee:/wgy/dockerText.txt /home/wgy
将应用打包到主机:docker export id:name 。栗子:docker export 4d57945febee>myReids.tar
将包导入docker:cat myReids.tar |docker import - wgy/redis:1.0
发布新的镜像:docker commit -m="描述" -a="作者名" id wgy/ubuntu:1.1
搭建私有库
1、下载镜像:docker pull registry
2、启动registry:docker run -d -p 5000:5000 -v /wgy/myreqistry/:/tmp/reqistry --privileged=true registry,其中-v:加入容器数据卷 宿主机:容器地址
3、加载ipconfig命令:apt-get update apt-get install net-tools
4、查看私服仓库:curl -XGET http://127.0.0.1:5000/v2/_catalog
5、规范名称:docker tag wgy/ubuntu:1.2 127.0.0.1:5000/wgyub:1.2
6、修改JSON文件,在/etc/docker/daemon.json文件中增加 ,"insecure-registries":["127.0.0.1:5000"]
7、推送到私服仓库:docker push 127.0.0.1:5000/wgyub:1.2
8、从私服仓库拉取镜像:docker pull 127.0.0.1:5000/wgyub:1.2
添加容器数据卷
挂载数据卷启动: docker run -it --privileged=true -v /wgy/host_data:/wgy --name=wgyubuntu wgyub:1.3 ,宿主机目录:/wgy/host_data 容器目录:/wgy
继承父类挂载的数据卷启动:docker run -it --privileged=true --volumes-from wgyubuntu --name=wgy2 wgyub:1.3
将jar打包成镜像
1、创建目录将jar放入目录下
2、创建Dockerfile文件,添加内容:
FROM openjdk:8-jre
ENV WORK_DIR /app COPY consumer-1.0.jar /app/ COPY application.properties /app/config/
#安装jdk
RUN mkdir /usr/local/java
ADD jdk-.... /usr/local/java/
ENV JAVA_HOME /usr/local/java/jdk...
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
#设置落脚点 WORKDIR $WORK_DIR
#执行命令 CMD ["java", "-jar", "consumer-1.0.jar"]
FROM:基础镜像
RUN:运行在终端上的shell命令,相当于在liunx上输入命令,构建时执行。
EXPOSE:对外暴露的端口
WORKDIR:终端登录时落脚点(进入liunx系统时目录)
USER:镜像执行用户,默认root
ENV:执行环境变量,多用于RUN,WORKDIR中
COPY:将源文件拷贝到目标地址,COPY consumer-1.0.jar /app/
ADD:类似COPY,会将压缩文件解压
CMD:指定容器启动后执行的命令 ["java", "-jar", "consumer-1.0.jar"]、["start.sh","run"],区别RUN是在docker build时执行,CMD是在docker run时执行
ENTRYPOINT:可以配合CMD使用,一般变参才会使用CMD相当于给ENTRYPOINT传参。
3、建立镜像: docker build -f DockerFile -t images-name .
4、启动
network网络模式
网络种类:
查看网络:docker network ls
创建网络:docker network create wgy_network
删除网络: docker network rm -f id
portainer可视化工具
下载启动:docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /wgy/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理