安装 docker 安装
配置ustc镜像
mkdir -pv /etc/docker
vim /etc/docker/deamon.json
deamon.json 内容⬇️
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
# 修改完后保存,重启docker
相关命令
# 停止服务
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 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
# 退出当前容器
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 redis myredis
# 镜像备份(将镜像保存为tar文件)
docker save -o myredis.tar myredis
# 镜像恢复与迁移(-i 输入的文件)
docker load -i myredis.tar
安装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
docker run -di --name=mysql -p 3307:3307 -e MYSQL_ROOT_PASSWORD=password mysql:8.0
# 进入mysql容器内
docker exec -it mysql /bin/bash
# 登陆mysql并设置字符集
mysql -uroot -ppassword --default-character-set=utf8
# 端口占用查询
sudo netstat -nlpl |grep 3306
# 修改身份认证插件为 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
安装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
安装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