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

 

posted @   王啦啦  阅读(13)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示