设置镜像源
<p>新增配置文件
vim /etc/docker/daemon.json
<p>配置信息
# 阿里云/(搜索)容器镜像服务/镜像工具/镜像加速器
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
<p>重启docker
systemctl restart docker.service
<p>查看服务信息
docker info
container-system
cat /etc/os-release
容器操作系统的包管理工具
<p>RedHat系列:Redhat、Centos、Fedora等
yum
<p>Debian系列:Debian、Ubuntu等
apt-get
容器内基础软件安装
<p>更新可用软件包的列表
apt-get update
<p>处理和查看进程信息的工具
apt-get install -y procps
<p>网络映射器 #查开放端口
apt-get install -y nmap
<p>vim
sudo apt-get install vim-gtk
common-command
<p>搜索镜像
docker search nginx --limit 10
<p>拉取镜像
docker pull nginx:latest
<p>查本地镜像
docker images
<p>查看容器服务进程状态
1 docker ps -a|grep nginx
2 ps aux #容器内运行
3 service nginx status #容器内运行
<p>查看容器服务进程日志
1 docker logs container_id | grep "关键词"
2 docker logs container_id | tail -n 10 #显示最后的 10 行日志
2 docker logs -f container_id #实时日志
<p>查看容器开放端口
1 docker inspect container_id # 查容器ip
2 nmap -p 1-65535 container_ip # 查端口
<p>防火墙规则
docker容器本身通常不会设置防火墙规则。防火墙规则通常由主机操作系统或容器编排工具(如 Docker Compose 或 Kubernetes)来管理
<p>查容器内ip
docker inspect container_id | grep IPAddress
<p>停止容器
docker stop container_id
<p>查看本地容器
docker ps -a|grep nginx
<p>重启容器服务
docker restart container_id
<p>停止并删除容器
docker rm -f container_id
nginx
<p>拉取镜像
docker pull nginx:latest
<p> 执行common-command
<p>确认端口可用
netstat -lnp|grep 2080
<p>创建容器本地配置文件目录
mkdir -p /opt/docker/docker-nginxmaster/conf.d
mkdir -p /opt/docker/docker-nginxmaster/html
mkdir -p /opt/docker/docker-nginxmaster/logs
mkdir -p /opt/docker/docker-nginxmaster/conf
<p>运行容器
docker run --name docker-nginxmaster --privileged=true -d -p 2080:80 nginx:latest
1 -name 设置启动容器名称
2 -d 后台守护线程启动,关闭终端服务不关闭
3 -p 主机端口:容器端口
4 --privileged 增加容器的特权级别,不建议使用
<p>拷贝nginx容器对应的文件默认配置
docker cp docker-nginxmaster:/etc/nginx/nginx.conf /opt/docker/docker-nginxmaster/conf
docker cp docker-nginxmaster:/etc/nginx/conf.d /opt/docker/docker-nginxmaster
docker cp docker-nginxmaster:/usr/share/nginx/html /opt/docker/docker-nginxmaster
<p>停止并删除nginx容器
docker rm -f container_id
<p>重新运行容器
docker run --name docker-nginxmaster --privileged=true -d -p 2080:80 -v /opt/docker/docker-nginxmaster/conf/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker/docker-nginxmaster/conf.d:/etc/nginx/conf.d -v /opt/docker/docker-nginxmaster/html:/usr/share/nginx/html -v /opt/docker/docker-nginxmaster/logs:/var/log/nginx nginx:latest
1 -name 设置启动容器名称
2 -d 后台守护线程启动,关闭终端服务不关闭
3 -p 主机端口:容器端口
4 --privileged 增加容器的特权级别,不建议使用
5 -v 设置数据卷,宿主机路径:容器内路径
<p>查看容器服务版本号
docker ps -a
<p>进入容器
docker exec -it 230d7bbded08 /bin/bash
<p>容器内查看并安装基础软件
操作在基础软件安装中
<p>登陆容器服务
http://宿主机ip:2080/
jenkins
<p> 拉取镜像
docker pull jenkins/jenkins:2.346.3-2-lts-jdk11
<p> 执行common-command
<p>确认端口可用
lsof -i:2090
<p>创建容器本地配置文件目录
mkdir -p /opt/docker/docker-jenkinamaster
chmod -R 777 /opt/docker/docker-jenkinamaster
<p>运行容器
docker run -d -p 2090:8080 -p 2091:50000 --privileged=true -v /opt/docker/docker-jenkinamaster:/var/jenkins_home -v /opt/maven/apache-maven-3.6.1:/usr/local/maven -v /etc/localtime:/etc/localtime --name docker-jenkinamaster jenkins/jenkins:2.346.3-2-lts-jdk11
1 -d 后台守护线程启动,关闭终端服务不关闭
2 -p 50000 主机端口:容器端口,Agent连接Server用到的通信端口
3 -p 8080 主机端口:容器端口,服务默认监听端口
4 --privileged 增加容器的特权级别,不建议使用
5 -v 设置数据卷,宿主机路径:容器内路径
6 -v 挂载本地maven
<p>容器服务配置文件
<p>查看容器服务版本号
页面查看
<p>进入容器
docker exec -it 230d7bbded08 /bin/bash
<p>容器内查看并安装基础软件
操作在基础软件安装中
<p>查看容器服务账户信息
<p>登陆容器服务
http://localhost:2090/
<p>页面设置jenkins
1 创建账户 -u:root -p:root -name:root
<p>插件安装
Maven Integration
publish over ssh
gitee
<p>配置设置
1 git代码凭据:系统管理-Manager credencials
2 maven配置:系统管理-全局工具配置
<p>maven仓库给jenkins容器用户授权
1 id:进入jenkins容器输入id获取uid
2 chown -R 1000:1000 /opt/maven/apache-maven-3.6.1:变更maven用户,使容器可写入
<p>项目jar输出路径
1 宿主机:/opt/docker/docker-jenkinamaster/workspace/hi-docker/target
2 容器:/var/jenkins_home/workspace/hi-docker/target
<p>编译后发送目标服务器
1 配置目标服务器地址:系统管理/系统配置/Publish over SSH
2 发送目标文件:hi-docker/配置/PostSteps
3 执行启动:ExecCommand
<p>执行启动ExecCommand命令
nohup java -jar hi-docker.jar >mylog.log 2>&1> &
1 nohup:用于在系统后台不挂断地运行命令,退出终端不会影响程序的运
2 >mylog.log:覆盖写,>>mylog.log:追加写
3 2>:标准错误输出,覆盖写
4 1>:标准数据,覆盖写
5 最后一个&:让命令在后台执行,终端退出后命令仍旧执
<p>历史编译jar存放路径
1 保留构建历史:/hi-docker/配置/General/丢弃旧的构建
2 构建历史存放位置:Jenkins_home/jobs/build_project_name/builds/
<p>设置远程权限
seata
<p> 拉取镜像
docker pull seataio/seata-server:1.7.0
<p> 执行common-command
<p>确认端口可用
lsof -i:8091
<p>运行容器
docker run -d -p 8091:8091 \
-e SEATA_IP=127.0.0.1 \
-e SEATA_PORT=8091 \
--name seata-server-master \
seataio/seata-server:1.7.0
1 -e SEATA_IP=127.0.0.1:指定seata-server启动的IP, 该IP用于向注册中心注册时使用, 如eureka等
2 -e SEATA_PORT=8091:指定seata-server启动的端口, 默认为 8091
<p>容器服务配置文件
<p>查看容器服务版本号
<p>进入容器
docker exec -it 230d7bbded08 /bin/bash
<p>容器内查看并安装基础软件
操作在基础软件安装中
<p>查看容器服务账户信息
<p>登陆容器服务
<p>设置远程权限
模板
<p> 拉取镜像
<p> 执行common-command
<p>确认端口可用
<p>运行容器
<p>容器服务配置文件
<p>查看容器服务版本号
<p>进入容器
<p>容器内查看并安装基础软件
操作在基础软件安装中
<p>查看容器服务账户信息
<p>登陆容器服务
<p>设置远程权限