
Docker
Chai Yingchao
心态有多开放,视野就有多宽广
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Docker data root 目录更改
有时候受限于系统根目录空间的限制,需要将 docker data root 目录更改为其它目录,如单独挂载一个磁盘或存储。本篇文章介绍如何操作。修改配置文件/etc/docker/daemon.json(在19.x 版本之前使用grapth)#复制数据到新目录,这里我使用rsync,确保复制时文件属性与源文件保持一致。修改docker 工作目录。原创 2024-08-02 09:24:19 · 1587 阅读 · 0 评论 -
导出主机上所有docker 镜像并导入到其它主机
docker images --format “{{.Repository}}:{{.Tag}}” > image_list.txtcat image_list.txt | xargs -L 1 docker save -o all_images.tardocker load -i all_images.tar原创 2023-12-04 13:17:37 · 439 阅读 · 0 评论 -
Docker优化参数
Docker原创 2022-06-03 22:28:10 · 657 阅读 · 1 评论 -
Kubernetes 根据 PID 获取 Pod 名称
在管理 Kubernetes 集群的过程中,我们经常会遇到这样一种情况:在某台节点上发现某个进程资源占用量很高,却又不知道是哪个pod运行的进程。总之需要根据PID查找pod名的需求。# 下边PID的值换成你要查询的PIDPID=2672238docker inspect --format '{{.Config.Hostname}}' $(cat /proc/$PID/cgroup|awk -F '/' '{print $5}' |awk -F 'docker-' '{print $2}' |cu原创 2022-03-25 16:28:52 · 1999 阅读 · 0 评论 -
通过Dockerfile 设置容器运行时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' >/etc/timezone原创 2021-11-15 12:51:32 · 656 阅读 · 0 评论 -
启动docker报docker-containerd: symbol lookup error: docker-containerd: undefined symbol: seccomp_api_se
检查libseccomp是否安装: #rpm -qa | grep libseccomp libseccomp2-32bit-2.3.1-10.1.x86_64 libseccomp2-2.3.1-10.1.x86_64#升级libseccomp2(以下示例是SuSE命令,其它系统自行查找) zypper install -y libseccomp2-2.4.1-lp152.1.3.x86_64再重启docker...原创 2021-05-06 21:15:26 · 580 阅读 · 0 评论 -
Linux手动 下载二进制安装Docker
第一步:下载docker包根据需要选择版本https://download.docker.com/linux/static/stable/x86_64/第二部:解压缩tar xzvf docker-20.10.5.tgzcp docker/* /usr/bin/ #将可执行文件复制到/usr/bin目录dockerd #验证启动到这儿其实就能用了,但是最好还是配成服务,使用systemd管理docker第三步:配置服务新增文件/usr/lib/systemd/system/doc原创 2021-03-16 13:33:47 · 1014 阅读 · 0 评论 -
Dockerfile 中使用keystore命令导入证书
导入证书需要交互式输入y,这个是关键: sh -c '/bin/echo -e “y”RUN sh -c '/bin/echo -e "y" | keytool -import -trustcacerts -alias xxx -file $JAVA_HOME/xxx.cer -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass password'原创 2020-12-22 15:20:07 · 1978 阅读 · 2 评论 -
Harbor 集成trivy 实现镜像漏洞扫描
在trivy Github上有trivy详细的特性介绍,这篇博文只关注trivy与Harbor集成。Harbor 可以使用–with-clair安装Clair scanner。其它scanner都需要自己配置。第一步:安装配置Trivygithub 上介绍的trivy 是安装版,与harbor集成并不能直接使用。与harbor集成需要使用Harbor Scanner Adapter for ...原创 2020-04-20 17:35:12 · 9179 阅读 · 3 评论 -
docker-compose 安装
https://github.com/docker/compose/releasescurl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composechmod +x /usr/local/...原创 2020-04-09 17:43:17 · 177 阅读 · 0 评论 -
Docker 支持NFS存储
在配置文件修改存储引擎类型/etc/sysconfig/dockerDOCKER_OPTS="--storage-driver=devicemapper --data-root /docker”docker 存储引擎相关文章https://blog.youkuaiyun.com/vchy_zhao/article/details/70238690https://www.cnblogs.com/b...原创 2020-04-09 15:30:39 · 944 阅读 · 0 评论 -
docker-compose build使用参数args
docker-compose 可以传参数到Dockerfile,相当于执行docker build --build-arg注意:Dockerfile不支持这样的格式传参数ENTRYPOINT [ "/bin/spark-submit" ]CMD ["--cluster.listen-address=${CLUSTER_LISTEN_IP}"]可以接受的Dockerfile写法AR...原创 2020-03-19 21:53:16 · 12186 阅读 · 1 评论 -
Dockerfile COPY 命令目录权限
COPY 指令可以加–chow 参数指定目标的属主COPY --chown=jenkins:jenkins JDK/jdk /home/jenkins/jdk这样镜像内的jdk目录属主就是jenkins:jenkins,否则是root:root,当然这里可能跟base镜像有关系,有的base镜像就不是root用户运行的,可能就是默认用户。加这个参数就可以自主按需更改了。...原创 2020-02-17 13:44:54 · 10051 阅读 · 0 评论 -
【转】Docker 磁盘清理
Docker用户会在使用docker一段时间后发现宿主机的磁盘很容易就快被占满,并且手动docker rmi [imgName]似乎并不能释放磁盘,貌似想删掉的镜像依然在宿主机中,下面针对这一问题提出一些解决方案。Docker空间占用查看1.13版本后Docker提供给了一些System命令,例如df命令查看Docker占用分布:$ docker system df$ docker sys...原创 2020-01-17 12:46:55 · 224 阅读 · 0 评论 -
Jenkins插件之 Docker-Plugin 将slave运行在docker容器中
Docker宿主机配置1 安装docker第一步. 添加docker yum源vi /etc/yum.repos.d/docker.repo[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://download.docker.com/linux/centos/7/$basearch/stableenabl...原创 2018-10-10 17:00:59 · 18175 阅读 · 8 评论 -
Jenkins Slave in Docker (Docker in Docker)
场景描述当我们将jenkins slave运行在docker中时,有时也需要在slave上执行docker build/push等docker命令,这就需要使用到docker in docker。有两个工作要做在build slave image时安装docker依赖#apt-get install -y libltdl7挂载/var/run/docker.sock和/usr/b...原创 2020-01-16 10:44:16 · 1787 阅读 · 0 评论 -
Docker"Got permission denied while trying to connect to the Docker daemon socket"报错解决
报错信息:”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.soc...原创 2020-01-02 11:05:56 · 848 阅读 · 0 评论 -
Windows 容器文档
Windows 容器官方文档转载 2019-12-23 14:32:51 · 180 阅读 · 0 评论 -
Maven docker-maven-plugin 的使用
docker-maven-plugin官网推荐在新项目中使用dockerfile-maven来构建镜像。docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugindockerfile-maven的Github地址:https://github.com/spotify/dockerfile-maven...原创 2019-12-04 09:18:47 · 875 阅读 · 0 评论 -
Docker 磁盘垃圾清理
用了一段时间Docker后,会发现它占用了不少硬盘空间。还好Docker 1.13引入了解决方法,它提供了简单的命令System来查看/清理Docker使用的磁盘空间。Docker 的内置 CLI 指令docker system df,可用于查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况。可以进一步通过-v参数查看空间占用...原创 2019-11-25 09:51:11 · 215 阅读 · 0 评论 -
docker build 时传入动态参数
docker build 时传入动态参数[root@fangjike temp]# cat Dockerfile FROM python:2.7-slimCOPY startup.sh /optRUN chmod +x /opt/startup.shARG envType=default_valueENV envType ${envType}CMD ["/opt/startu...原创 2019-11-21 09:49:32 · 10709 阅读 · 4 评论 -
Docker 网络
Docker安装后,默认会创建下面三种网络类型bridge:桥接网络默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启后Docker的IP地址可能会变。none:无指定网络使用 --network=none ,docker 容器就不会分配局域网的IPhost: 主机网络使...转载 2018-10-16 09:56:06 · 236 阅读 · 0 评论 -
【转】Docker run 内存限制报错
#docker run --memory 2G报错:WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.suse解决方法:编辑/etc/default/grub设置如下:GRUB_CMDLINE_LIN...转载 2018-10-12 15:29:17 · 1187 阅读 · 0 评论 -
【转】 Jenkins修改时区(Docker)
问题通过官方的jenkins容器运行jenkins服务,但是发现jenkins的时间与docker容器内的时间相同,但都与北京时间正好差8个小时。基本确定时区问题查看jenkins的docker容器时间:docker exec查看Jenkins的时间在“jenkins的UI-》系统管理-》系统信息”中有user.timezone的字段分析时间相差8个小时,基本可以确定时区问题。所以上...转载 2018-10-11 16:53:47 · 2305 阅读 · 0 评论 -
【转】容器挂载volume出现“Permission denied”的问题定位解决
使用如下系统(centos)运行容器后,在容器内的挂载目录内执行ls命令出现了“Permission denied”的错误Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux容器运行命令如下,将/home/cent...转载 2018-10-11 16:29:30 · 1908 阅读 · 0 评论 -
【转】配置harbor镜像仓库(HTTP与HTTPS)
依赖环境: Python 2.7或以上 Docker 1.10或以上 Docker Compose 1.6.0或以上1. 安装pipwget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz tar -vxf setuptools-1.4.2.tar...转载 2018-10-10 12:59:08 · 1146 阅读 · 0 评论 -
【转】编写最佳的Dockerfile的实践
Dockerfile的语法非常简单,然而如何加快镜像构建速度,如何减少Docker镜像的大小却不是那么直观,需要积累实践经验。这篇博客可以帮助你快速掌握编写Dockerfile的技巧。目标:更快的构建速度更小的Docker镜像大小更少的Docker镜像层充分利用镜像缓存增加Dockerfile可读性让Docker容器使用起来更简单总结编写.dockerignore文件容器只...转载 2018-10-25 09:16:47 · 167 阅读 · 0 评论 -
Docker in Docker
场景:jenkins slave运行在基于openshift或k8s的容器中,构建过程需要build 应用程序的docker image并push到docker 仓库,此时就需要docker命令。安装docker命令比较简单,但是运行docker build 命令需要启动docker服务。docker in docker 基本上有两种实现方式。一是挂载/var/run/docker.so...原创 2018-11-13 15:34:38 · 973 阅读 · 0 评论 -
Dockerfile 中RUN 需要交互的实现方法
在dockerfile中使用RUN 执行shell,有时需要交互回答 yes或者no。实现方式如下:RUN sh -c '/bin/echo -e “\nyes\n\nyes” | keytool -import -alias server.cer -file $JAVA_HOME/server.cer -keystore...原创 2019-02-18 15:16:16 · 9445 阅读 · 0 评论 -
Dockerfile 中java -jar 启动程序,程序需要走http代理的配置
运行java 程序的服务器在内网,需要访问外网的接口,需要走http代理,在系统层设置代理不起作用。需要在java 启动时指定。Dockerfile写在ENV 中的是系统层的环境变量。java 运行的变量需要在运行java命令的时候通过参数指定。ENTRYPOINT java -Duser.timezone=GMT+08 -Dhttps.proxyHost=1.2.3.4 -Dhttps....原创 2019-03-15 15:10:18 · 2984 阅读 · 0 评论 -
Docker 镜像下载加速
比较快的:https://www.daocloud.iocurl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io原创 2019-03-25 10:55:53 · 618 阅读 · 0 评论 -
【转】Dockerfile命令详解(超全版本)
制作Dockerfile为Docker入门学习的第一步(当然,除了环境搭建)。本文收集、整理了官网关于制作Dockerfile的全部命令(除SHELL没整理,这个就不弄了),可帮助大家快速进入Dockfile制作的学习。以下为正文,下面进入学习姿势吧!FROM功能为指定基础镜像,并且必须是第一条指令。如果不以任何镜像为基础,那么写法为:FROM scratch。同时意味着接下来所写的指...转载 2018-09-25 11:23:52 · 214 阅读 · 0 评论