- 安装
- ISSUS
- 使用aliyun镜像解决安装docker-ce过慢问题
- Docker批量操作
- Docker查看日志
- 关闭防火墙">关闭防火墙
- devicemapper: Error running deviceCreate (ActivateDevice) dm_task_run failed
- Linux查找大文件和目录
- 如何清理 Docker 占用的磁盘空间">如何清理 Docker 占用的磁盘空间
- 故障现象(二):client 端无法正常访问用户界面和 register 服务
- Git clone 时遇见错误 Peer‘s Certificate has expired
- git http每次提交都要输入密码解决方案
- Maven仓库配置
- 停止进程命令执行文件_Docker所有命令一览">停止进程命令执行文件_Docker所有命令一览
- 资料
依赖地址:
docker-compose
https://github.com/docker/compose/releases
harbor
https://github.com/goharbor/harbor/releases
Harbor仓库搭建及简单使用
https://blog.csdn.net/qq_40378034/article/details/90752212
一篇带你了解私有仓库 Harbor 的搭建
https://www.cnblogs.com/tianzhendengni/p/14071523.html
VirtualBox 使用 NAT网络、仅主机(Host-only)网络 实现双网卡上网并与宿主机连接。
https://blog.csdn.net/u010606397/article/details/115350392
JAVA项目如何通过Docker实现持续部署
https://blog.51cto.com/dadonggg/1957691
Docker学习(三)java应用docker部署
https://segmentfault.com/a/1190000019965126?utm_source=tag-newest
安装
cd /opt# 安装dockeryum install -y yum-utils device-mapper-persistent-data lvm2# 添加aliyun镜像yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装Docker CEyum install -y docker-ce docker-ce-cli containerd.io# 安装Docker Composeyum install -y lsof wgetwget https://github.com/docker/compose/releases/download/1.29.0/docker-compose-Linux-x86_64mv docker-compose-Linux-x86_64 /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose# 查看Docker Compose 的版本docker-compose version# 安装 Harborwget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-online-installer-v2.4.0.tgztar -zxvf harbor-online-installer-v2.4.0.tgzcd harborvi harbor.ymlhostname 配置为ip去掉https开头的配置默认密码: Harbor12345

./install.sh查看服务进程docker-compose ps停止服务docker-compose down -v启动服务docker-compose up -d查看日志docker ps -adocker logs --tail=200 d651c3a07a2e查看网络模式docker network ls
调整容器网络
部署Harbor主机与容器网络不通问题
docker 创建容器时指定容器ip
yum install bridge-utils -ybrctl show

# 删掉bridge,重新创建一个新的网桥service docker stopip link set dev br-2b9e1b8e71f2 downbrctl delbr br-2b9e1b8e71f2brctl addbr br-2b9e1b8e71f2ip addr add 172.27.0.1/16 dev br-2b9e1b8e71f2ip link set dev br-2b9e1b8e71f2 upservice docker start
自签ssl证书
官方文档:https://github.com/goharbor/harbor/blob/master/docs/1.10/install-config/configure-https.md#mkdir /data/cert -p#openssl genrsa -out /data/cert/server.key 2048#openssl req -x509 -new -nodes -key /data/cert/server.key -subj "/CN=reg.hechunping.com" -days 36500 -out /data/cert/server.crt#mkdir /etc/docker/certs.d/reg.hechunping.com -p#cp /data/cert/server.crt /etc/docker/certs.d/reg.hechunping.com/
推送镜像
Java项目打成docker镜像
Java 和 Maven环境
######################### Install Maven# download url : http://mirrors.hust.edu.cn/apache/maven/maven-3/# user:root# path:/opt#########################cd /opt# check java installif which java 2>/dev/null; thenecho "java exists!"elseyum install wget -ywget http://cdn.wswzms.top/jdk-8u11-linux-x64.tar.gz# unziptar -zxvf jdk-8u11-linux-x64.tar.gz# renamemv jdk1.8.0_11 jdk# change Jurisdictionchown -R root:root /opt/jdk# set configecho 'export JAVA_HOME=/opt/jdk' >> /etc/profileecho 'export CLASSPATH=$JAVA_HOME/lib' >> /etc/profileecho 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile# Take effect configsource /etc/profile# Testjava -versionfi# Download maven source tar.gz# https://maven.apache.org/download.cgiwget http://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz# unziptar -zxvf apache-maven-3.5.4-bin.tar.gz# renamemv apache-maven-3.5.4 maven# set env configecho "export M3_HOME=/opt/maven" >> /etc/profileecho "export PATH=/opt/maven/bin:${PATH}" >> /etc/profile# source configsource /etc/profilemvn -version# 打包mvn clean package -Dmaven.test.skip=true --update-snapshots
登录私服仓库
docker login -u admin -p Harbor12345 http://192.168.216.3
Dockerfile
FROM java:8MAINTAINER luis luis@xxx.comCOPY bootstrap.yml bootstrap.ymlCOPY target/web-start.jar web-start.jarENTRYPOINT ["java","-jar","-Deureka.instance.metadata-map.zone=dev -Duser.timezone=GMT -Dspring.profiles.active=dev -Dspring.config.location=bootstrap.yml -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 --server.port=8089 --management.server.port=8089","/web-start.jar"]EXPOSE 8089
打包&上传&部署
yum install -y gitgit clone http://xxx.xxx.com/eureka-server.git# 登录私服仓库docker login -u admin -p Harbor12345 http://192.168.216.3# 构建镜像docker build -t eureka-server .# 查看镜像docker images# 运行容器docker run -d -p 0.:8761:8761 eureka-server# 容器发版docker tag eureka-server 192.168.216.3/austpay/eureka-server# 将容器上传至私服docker push 192.168.216.3/austpay/eureka-server# 查看容器的进程docker ps# 查看日志docker logs --tail=200 xxxx # xxxx IMAGES ID# 删除容器镜像docker rmi 192.168.216.3/austpay/eureka-server# 下载私服镜像docker pull 192.168.216.3/austpay/eureka-server# 进入容器内部docker exec -ti 我们的容器id bash
ISSUS
使用aliyun镜像解决安装docker-ce过慢问题
# 一、添加aliyun镜像yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 二、修改配置文件docker-ce.repovi /etc/yum.repos.d/docker-ce.repo[docker-ce-stable]name=Docker CE Stable - $basearch#baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stablebaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stableenabled=1gpgcheck=1gpgkey=https://download.docker.com/linux/centos/gpg# 三、安装dockeryum install docker-ce docker-ce-cli containerd.io
Docker批量操作
docker中 启动所有的容器命令docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)docker中 关闭所有的容器命令docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)docker中 删除所有的容器命令docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)docker中 删除所有的镜像docker rmi $(docker images | awk '{print $3}' |tail -n +2)
Docker查看日志
查看指定时间后的日志,只显示最后100行:$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID查看最近30分钟的日志:$ docker logs --since 30m CONTAINER_ID查看某时间之后的日志:$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID查看某时间段日志:$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
一 docker ps查看正在运行的docker容器有哪些。二 docker ps -a查看所有docker容器,包括不在running状态的。三 docker logs 参数 容器id查看具体某一个容器的日志。其中参数可选择的有:-f follow 表示实时显示日志-t timestamp 表示显示时间戳--tail=n 或 --tail n 表示显示末尾n行例如:docker logs -f --tail=200 xxxx,表示实时加载日志信息,并且仅显示最后200行。四 docker logs 参数 容器id | grep str查找日志文件中含有特定字符串的行五 docker logs 参数 容器id | grep str >> out.txt查找日志文件中含有特定字符串的行,并且输出到指定文件out.txt中。六 根据时间查看log--since 从指定时间点到最新的日志--until 指定结束时间点docker logs --since 2020-04-10T19:50:00 containerdocker logs --since 2020-04-10T19:30:00 --until 2020-04-10T20:05:00 contailer
关闭防火墙
Centos 6.x版本 iptables
查看防火墙状态:service iptables status
iptables:Firewall is not runing. 说明防火墙没有开启
开启防火墙:service iptables start
关闭防火墙:service iptables stop
Centos 7版本 firewall
查看当前防火墙状态:systemctl status firewalld.service
执行后可以看到绿色字样标注的“active(running)”,说明防火墙是开启状态
关闭防火墙命令:systemctl stop firewalld.service
关闭后,使用命令systemctl status firewalld.service
可以看到,disavtive(dead)的字样,说明防火墙已经关闭
开启防火墙:systemctl start firewalld.service
怎么设置才能永久关闭防火墙呢?
关闭开机自启动,禁止防火墙服务器:systemctl disable firewalld.service
开启开机启动:systemctl enable firewalld.service
devicemapper: Error running deviceCreate (ActivateDevice) dm_task_run failed
rm -rf /var/lib/docker/*systemctl restart docker
Linux查找大文件和目录
查找大文件
cd /find / -type f -size +800M
查找大目录
du -h --max-depth=1du -h --max-depth=2 | sort -ndu -hm --max-depth=2 | sort -nr | head -12du -sh
如何清理 Docker 占用的磁盘空间
docker system dfTYPE 列出了docker 使用磁盘的 4 种类型:Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。Containers:运行的容器占用的空间,表示每个容器的读写层的空间。Local Volumes:容器挂载本地数据卷的空间。Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。docker system prune -a
故障现象(二):client 端无法正常访问用户界面和 register 服务
之前得操作都是在Harbor服务器本地操作,但是如果其他客户端上传镜像到 Harbor,就可能会报错出现这问题是因为Docker Registry交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交互时会出现错误--报错:client端无法正常登录[root@client ~]# docker login -u admin -p Harbor12345 http://192.168.126.16WARNING! Using --password via the CLI is insecure. Use --password-stdin.Error response from daemon: Get https://192.168.126.16/v2/: dial tcp 192.168.126.16:443: connect: connection refused '//报错:连接拒绝'[root@client ~]# vim /usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.126.16 --containerd=/run/containerd/containerd.sock'//需要修改此行,指向harbor服务器IP地址,之后就可以连接了'[root@client ~]# systemctl daemon-reload[root@client ~]# systemctl restart docker[root@client ~]# docker login -u admin -p Harbor12345 http://192.168.126.16WARNING! Using --password via the CLI is insecure. Use --password-stdin.WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded '//登录成功!'
Git clone 时遇见错误 Peer‘s Certificate has expired
git config --global http.sslVerify false
git http每次提交都要输入密码解决方案
https 方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受 https 带来的极速按照以下设置记住密码十五分钟:git config --global credential.helper cache如果你想自定义记住的时间,可以这样:git config credential.helper 'cache --timeout=3600' //这里记住的是一个小时,如需其他时间,请修改3600为你想修改的时间,单位是秒你也可以设置长期记住密码:git config --global credential.helper store或修改仓库的地址带上你的账号密码http://yourname:password@git.oschina.net/name/project.git //注意,码云平台同时支持个性地址与邮箱,当使用邮箱时,请对@符号使用%40替换如果你原本使用的 ssh 地址想更换成 http(s) 地址,可以执行以下命令://删除原本的ssh仓库地址git remote rm origin //origin 代表你原本ssh地址的仓库的别名//新增http地址的仓库git remote add origin http://git.oschina.net/username/project.git
Maven仓库配置
仓库默认位置:/root/.m2/repository
在/root/.m2目录下添加 setting.xml
