- 安装
- 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
# 安装docker
yum 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 CE
yum install -y docker-ce docker-ce-cli containerd.io
# 安装Docker Compose
yum install -y lsof wget
wget https://github.com/docker/compose/releases/download/1.29.0/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 查看Docker Compose 的版本
docker-compose version
# 安装 Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-online-installer-v2.4.0.tgz
tar -zxvf harbor-online-installer-v2.4.0.tgz
cd harbor
vi harbor.yml
hostname 配置为ip
去掉https开头的配置
默认密码: Harbor12345
./install.sh
查看服务进程
docker-compose ps
停止服务
docker-compose down -v
启动服务
docker-compose up -d
查看日志
docker ps -a
docker logs --tail=200 d651c3a07a2e
查看网络模式
docker network ls
调整容器网络
部署Harbor主机与容器网络不通问题
docker 创建容器时指定容器ip
yum install bridge-utils -y
brctl show
# 删掉bridge,重新创建一个新的网桥
service docker stop
ip link set dev br-2b9e1b8e71f2 down
brctl delbr br-2b9e1b8e71f2
brctl addbr br-2b9e1b8e71f2
ip addr add 172.27.0.1/16 dev br-2b9e1b8e71f2
ip link set dev br-2b9e1b8e71f2 up
service 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 install
if which java 2>/dev/null; then
echo "java exists!"
else
yum install wget -y
wget http://cdn.wswzms.top/jdk-8u11-linux-x64.tar.gz
# unzip
tar -zxvf jdk-8u11-linux-x64.tar.gz
# rename
mv jdk1.8.0_11 jdk
# change Jurisdiction
chown -R root:root /opt/jdk
# set config
echo 'export JAVA_HOME=/opt/jdk' >> /etc/profile
echo 'export CLASSPATH=$JAVA_HOME/lib' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
# Take effect config
source /etc/profile
# Test
java -version
fi
# Download maven source tar.gz
# https://maven.apache.org/download.cgi
wget http://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
# unzip
tar -zxvf apache-maven-3.5.4-bin.tar.gz
# rename
mv apache-maven-3.5.4 maven
# set env config
echo "export M3_HOME=/opt/maven" >> /etc/profile
echo "export PATH=/opt/maven/bin:${PATH}" >> /etc/profile
# source config
source /etc/profile
mvn -version
# 打包
mvn clean package -Dmaven.test.skip=true --update-snapshots
登录私服仓库
docker login -u admin -p Harbor12345 http://192.168.216.3
Dockerfile
FROM java:8
MAINTAINER luis luis@xxx.com
COPY bootstrap.yml bootstrap.yml
COPY target/web-start.jar web-start.jar
ENTRYPOINT ["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 git
git 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.repo
vi /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
#baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
# 三、安装docker
yum 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 container
docker 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=1
du -h --max-depth=2 | sort -n
du -hm --max-depth=2 | sort -nr | head -12
du -sh
如何清理 Docker 占用的磁盘空间
docker system df
TYPE 列出了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.16
WARNING! 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.service
ExecStart=/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.16
WARNING! 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. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login 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