安装 docker 安装
link
配置ustc镜像
| mkdir -pv /etc/docker |
| vim /etc/docker/deamon.json |
| |
| deamon.json 内容⬇️ |
| |
| { |
| "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] |
| } |
| |
| # 修改完后保存,重启docker |
| |
yum安装mysql
链接
dockerfile
| # 创建一个名为`Dockerfile`的文件 |
| # 里面写 |
| FROM centos |
| RUN yum -y install wget \ |
| && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \ |
| && tar -xvf redis.tar.gz |
| # 使用这个命令读取dockerfile来创建容器(镜像名称:镜像标签) |
| docker build -t issa/myubuntu:1.15 . |
| # 指定从那个文件构建镜像 |
| docker build -f /path/to/a/Dockerfile |
| # m1 芯片的使用这个否则报错/bin64下的某文件不存在 |
| docker build --platform linux/x86_64 -t centos7/centos:7 . |
| # m1 芯片运行镜像 |
| docker run -it --platform linux/amd64 mini/all:1.0 |
| |
| # 解压命令 |
| tar -zxvf apache-tomcat-8.5.78.tar.gz |
| |
| # 开启8080端口 |
| firewall-cmd --permanent --add-port=8080/tcp |
| |
| # 重启防火墙 |
| systemctl restart firewalld |
| |
| # 配置jdk环境变量 |
| export JAVA_HOME=/home/software/jdk11 |
| export PATH=$PATH:$JAVA_HOME/bin:$PATH |
| export CLASSPATH=.:$JAVA_HOME/lib |
docker 容器运行后添加端口映射的两种方式
- 把当前容器打包为镜像,再从新在docker run时添加端口映射
- 修改docker容器的配置文件添加端口映射
首推这个
链接
docker 拉取mysql的流程
参见链接
相关命令
| # 停止服务 |
| systemctl stop docker |
| |
| # 开启服务 |
| systemctl start docker |
| |
| # 重启服务 |
| systemctl restart docker |
| |
| # 查看启动状态 |
| systemctl status docker |
| |
| # 查看docker信息 |
| docker info |
| |
| # 配置开机启动docker |
| systemctl enable docker |
| |
| # 查看镜像 |
| docker images |
| |
| # 搜索镜像 |
| docker search centos |
| |
| # 拉取镜像 |
| docker pull centos:7 |
| |
| # 删除镜像 (id || name) |
| docker rmi IMAGE ID |
| |
| # 删除所有镜像 |
| docker rmi `docker images -q` |
| |
| # 查看正在运行的镜像 |
| docker ps |
| |
| # 查看所有容器 |
| docker ps -a |
| |
| # 查看最后一次运行的镜像 |
| docker ps -l |
| |
| # 查看停止的镜像 |
| docker ps -f status=exited |
| |
| # 在没有使用客户端的时候查看日志 |
| docker logs -f ID |
| |
| # 连接到正在运行的容器 |
| docker attach ID |
| |
| # 退出正在运行的容器,不关闭该容器快捷键 |
| control + p +q |
| |
| # 创建容器 |
| docker run |
| |
| # 重命名容器 |
| docker rename oldName newName |
| |
| # 交互方式创建一个容器(指定容器名:id) |
| docker run -it --name=centos centos:7 /bin/bash |
| |
| # 以守护程序方式运行容器 |
| docker run -di --name=mycentos2 centos:7 |
| |
| # 进入某个正在运行的容器 |
| docker exec -it mycentos2 /bin/bash |
| # windows10 需要在命令前加上winpty |
| |
| # 退出当前容器 |
| exit |
| |
| # 停止容器(ID || name) |
| docker stop ID |
| |
| # 启动容器(ID || name) |
| docker start ID |
| |
| # 删除容器实例 |
| docker rm -f ID |
| |
| # 删除所有容器 |
| docker rm -f `docker ps -a -q` |
| |
| # 往容器内拷贝文件(cp 本机地址 容器ID: 容器地址) |
| docker cp test 225a22a0a78e:/usr/local/ |
| |
| # 往本机拷贝文件(cp 容器ID: 容器地址 本机地址) |
| docker cp 225a22a0a78e:/usr/local/test test2 |
| |
| # 查看容器详细信息 |
| docker inspect ID |
| |
| # 目录挂载(本地地址: docker地址 实例名 镜像名: 标签) |
| docker run -di -v /root/docker/mycentos3/:/usr/local/localhost --name=mycentos centos:7 |
| |
| # 容器打成镜像 |
| |
| docker commit 容器id 镜像名:镜像版本 |
| |
| docker save 镜像名:镜像版本 -o xxx.tar |
| |
| # 容器保存为镜像 |
| docker commit redis myredis |
| |
| # 镜像备份(将镜像保存为tar文件) |
| docker save -o myredis.tar myredis |
| |
| # 镜像恢复与迁移(-i 输入的文件) |
| docker load -i myredis.tar |
| |
| # bhf使用的docker容器生成命令 |
| docker run -di --name=bhf -p 3306:3306 -p 80:80 -p 8081:8081 -p 8082:8082 -e MYSQL_ROOT_PASSWORD='123456' -v ./mydata/mysql/log:/var/log/mysql -v ./mydata/mysql/data:/var/lib/mysql -v ./mydata/mysql/conf:/etc/mysql -v ./config/etc/:/etc/ -v ./:/home/ |
| |
| -v ./config/nginx/:/etc/nginx/conf.d/ -v ./back/:/home/ -v ./web/:/home/ -v ./config/jdkRes/:/home/jdk8/ mysql:5.7 |
安装mysql
| # 拉取mysql 8.0镜像 |
| docker pull mysql:8.0 |
| |
| # 运行并将数据挂载至本机(宿主机端口: 容器端口、-e 添加一个环境变量,直接设置root密码、镜像名: 版本) |
| docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:8.0 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql |
| |
| # 进入mysql容器内 |
| docker exec -it mysql /bin/bash |
| |
| # 登陆mysql并设置字符集 |
| mysql -uroot -ppassword --default-character-set=utf8 |
| |
| # 修改登陆密码 |
| ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssword123'; |
| systemctl restart mysqld |
| |
| # 端口占用查询 |
| sudo netstat -nlpl |grep 3306 |
| |
| # 修改身份认证插件为 mysql_native_password |
| ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; |
| |
| # 刷新权限 |
| FLUSH PRIVILEGES; |
2059有效方法
安装Nginx
| # 拉取nginx镜像 |
| docker pull nginx |
| |
| # 以守护程序方式运行容器 |
| docker run -di --name=nginx -p 80:80 nginx |
| |
| # 以守护程序方式运行容器,同时挂载nginx的配置目录,想挂载需要先有相应的目录 |
| docker run -di --name=nginx -p 80:80 -v /usr/local/mydata/conf/:/etc/nginx nginx |
| docker run -di -v /usr/local/mydata/conf/:/etc/nginx --name=nginx -p 80:80 nginx |
| |
| docker run -d -p 80:80 --name nginxweb -v /Users/lantian/Downloads/map/:/home/map/ -v /Users/lantian/shell/mapConf/:/etc/nginx/conf.d/ nginx |
| |
安装Redis
| # 拉去Redis镜像 |
| docker pull redis |
| |
| # 以守护程序方式运行容器,并设置运行端口 |
| docker run -di --name=redis -p 8080:6379 redis |
| |
| # 进入redis-cli |
| redis-cli |
| |
| # 测试是否连通 |
| PING |
| |
| # 创建值 |
| set ping Pang |
| |
| # 获取值 |
| get ping |
| |
| # 退出 |
| exit |
| |
| |
dockerFile
dockerFile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像
对于开发人员:可以为开发团队提供一个完全一致的开发环境
docker私有仓库
私有仓库搭建与配置
| # 拉取私有仓库 |
| docker pull registry |
| |
| # 启动私有仓库容器 |
| docker run -di --name=registry -p 5000:5000 registry |
| |
| # 打开浏览器访问localhost:5000/v2/_catalog 看到{"registories":[]} 表示私有仓库搭建成功并且内容为空 |
| |
| # 修改deamon.json,添加以下内容,保存退出。 |
| |
| {"insecure-registries": ["ip:端口] |
| |
| # 此步用于让docker信任私有仓库地址 |
| |
| # 重启docker服务 |
| systemctl restart docker |
| |
| # 启动私有仓库容器 |
| docker start registry |
| |
| # 打开浏览器访问localhost:5000/v2/_catalog |
| |
私有仓库镜像上传
| docker tag redis ip:端口/redis |
| docker images |
| docker push repository |
| |
DockerMaven插件自动部署
后续自己 查吧,不做详细赘述
安装RabbitMQ
| # 拉取镜像 |
| docker pull rabbitmq:3.7.12 |
| |
| # 以守护程序方式运行容器 |
| docker run -di --name=rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:3.7.12 |
| |
| # 进入容器 |
| docker exec -it rabbitmq /bin/bash |
| |
| # 安装rabbitmq的ui插件 |
| rabbitmq-plugins enable rabbitmq_management |
| # 访问地址localhost:15672 |
| |
安装Elasticsearch
| # 拉取镜像 |
| docker pull elasticsearch:7.5.0 |
| |
| # 修改虚拟内存区域大小,否则会因为过小而无法启动 |
| sysctl -w vm.max_map_count=262144 |
| |
| # 以守护程序方式运行容器 |
| docker run -di --name=rabbitmq -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "cluster.name=elasticsearch" -v /本机/:/usr/share/elasticsearch/plugins elasticsearch:7.5.0 |
| |
| # 安装中文分词器 |
| docker exec -it elasticsearch /bin/bash |
| |
| # 此命令需要在容器中运行 |
| elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.0/elasticsearch-analysis-ik-7.5.0.zip |
| |
| # 重启elasticsearch |
| exit |
| docker restart elasticsearch |
| |
| # 访问地址localhost:9200 |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术