Docker
1.安装docker
注意docker社区版安装要求Cenos7以上
在Linux下执行如下命令
1.卸载
2.安装
安装yum工具2.启动docker
启动docker前首先关闭防火墙1.指令
2.配置镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://lnyncmfa.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3.Docker基本操作
1.docker文档帮助命令
--help
2.镜像操作命令
docker images 查看镜像
docker rmi 删除镜像
docker pull 从服务拉取镜像
docker push 推送镜像到服务
docker save 保存镜像为一个压缩包
docker load 加载镜像压缩包
1)操作实例拉取查看镜像
2)操作实例保存导入实例
删除镜像
3.容器相关命令
docker run创建容器并运行
docker pause 暂停运行
docker unpause 恢复运行
docker stop 停止运行
docker start 容器运行
docker ps 查看所有运行的容器及状态
docker logs 查看容器运行日志
docker exec 进入容器执行命令
docker exit 退出容器
docker rm 删除指定容器
1)容器运行实例
去hub查看Nginx容器运行命令
docker run --name [] -p 80:80 -d nginx
--name:给容器起一个名字,[]中为名字
-p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧为容器端口
-d :后台运行容器
容器部署成功(80端口省略没写)
查看日志
2)进入容器实例
docker exec -it (name) bash
进入容器后修改首页信息
sed -i 's#Welcome to nginx#rzp is handsome man#g' index.html
sed -i 's#<head><meta charser="utf-8">#g' index.html
3)操作Redis容器实例
4.数据卷相关命令
docker volume create 创建数据卷
docker volume ls 查看当前数据卷
docker volume inspect 查看指定数据卷信息
docker volume rm 删除指定数据卷
docker volume prune 删除未使用的数据卷
1)挂载数据卷
在创建容器时,通过-v参数来挂载数据卷到某个容器目录,注意-v之后 是数据卷:需要挂载的容器内目录地址
创建容器
前往挂载目录可以看到之前需要进入容器查看的文件已经在本地目录下了
利用vi/vim即可对文件直接修改
另外如果容器运行时volume不存在,挂载后会自动创建
2)Mysql实例运行
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123 -p 3306:3306 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25
可创建mysql容器,同时将目录及文件均完成挂载,但是由于本机Mysql端口已占用,因此无法创建
5.自定义镜像Dockerfile
后续需要时再补充
6.部署微服务集群
1)安装dockercompose
将dockercompose指定目录
2)修改权限
chmod +x /usr/local/bin/docker-compose
3)自动补全功能添加
补全命令
如果报错
4)微服务集群部署
编写相关compose文件及配置文件
上述微服务在集群中可以直接通过服务名称访问(例如直接使用orderservice)
因此需要将对应的java文件环境修改成服务名称
通过maven打包工具打包,注意所有相关服务下POM设置
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
将对应的jar包放在文件夹下
将整个微服务文件夹上传到虚拟机,利用docker-compose up -d 来部署
7.docker镜像仓库
搭建私有镜像仓库
向镜像仓库推送镜像
从镜像仓库拉取镜像
本文来自博客园,作者:面向机器编程,转载请注明原文链接:https://www.cnblogs.com/face-to-machine-program/articles/16364676.html