微服务spring cloud alibaba搭建记录 - 基础篇Docker

安装版本说明

[root@node0 ~]# docker -v
Docker version 1.13.1, build cccb291/1.13.1
[root@node0 ~]# docker-compose -v
docker-compose version 1.24.1, build 4667896b

2.1 安装、运行、配置

[root@localhost ~]# yum install -y docker
[root@localhost /]# yum list installed |grep docker
docker.x86_64                       2:1.13.1-109.gitcccb291.el7.centos @extras  
docker-client.x86_64                2:1.13.1-109.gitcccb291.el7.centos @extras  
docker-common.x86_64                2:1.13.1-109.gitcccb291.el7.centos @extras
# 服务开启
systemctl start docker.service
systemctl enable docker.service
#服务查看
systemctl status docker
配置国内镜像站(ali)  需要个人申请aliyun的镜像站加速器https://cr.console.aliyun.com
[root@localhost docker]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://omiz3ksl.mirror.aliyuncs.com"]
}
EOF

[root@localhost docker]# cat daemon.json 
{
"registry-mirrors":["https://omiz3ksl.mirror.aliyuncs.com"]
}

切换镜像站后需要重启docker

[root@localhost docker]# systemctl restart docker.service
[root@localhost docker]# sudo systemctl daemon-reload
[root@localhost docker]# sudo systemctl restart docker

 

2.2 docker UI->Portainer

 编排工具,便于界面化管理

# docker run -d --privileged -p 9000:9000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer
访问地址: http://192.168.1.245:9000/      admin@12345678 用户名密码首次登陆设置

参考文档:https://blog.csdn.net/qq_36379495/article/details/92837897

对portainer做一个简单的使用说明

 

2.3常用命令

docker [run|start|stop|restart|kill|rm|pause|unpause]             #容器生命周期管理
  docker [ps|inspect|top|attach|events|logs|wait|export|port]       #容器操作运维
  docker [commit|cp|diff]                                           #容器rootfs命令
  docker [login|pull|push|search]                                   #镜像仓库
  docker [images|rmi|tag|build|history|save|import]                 #本地镜像管理

1、镜像命令

# 搜索镜像
docker search 镜像名称
# 列出当前系统存在的镜像
docker images
# 拉取镜像
 docker pull image_name
 docker pull image_name:tag
 #image_name:表示镜像的仓库源名称,TAG:镜像的标签 如果不指定tag 那么默认用最新的
 
#删除镜像
docker rmi 镜像名称/镜像ID
docker rmi -f 镜像名称/镜像ID
#强制删除 如果镜像有容器在运行 那么就需要强制删除 增加 -f 参数
​
#举例
docker search nginx       #搜索所有nginx相关的镜像列表(模糊查询)
docker pull nginx         #拉取nginx镜像
docker pull nginx:stable  #拉取tag为stable的nginx

2、容器命令

# 运行容器
docker run  #首先会从本地找镜像,如果有则直接启动,没有的话,从镜像仓库拉起,再启动)
docker run -d --name "xiaoxiao" -p 5672:5672 -p 15672:15672 rabbitmq:management
            #-d 后台运行
            #-p 端口映射 (可以有多个 因为该镜像可能存在多个端口)
            #rabbitmq:management  (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的
            #--name  给该容器取个名字
            
# 列举当前运行的容器
docker ps
# 检查容器内部信息
docker inspect 容器名称
# 停止某个容器
docker stop 容器名称
# 启动某个容器
docker start 容器名称
# 移除某个容器
docker rm 容器名称 (容器必须是停止状态)

2.4 安装docker-compose

什么是compose,可以自行了解  https://github.com/docker/compose

# 安装docker-compose
# 国内镜像站:curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#查看是否安装成功
docker-compose --version
#-> docker-compose version 1.24.1, build 4667896b

2.5 Q&A

Q1: 容器启动失败 docker: Error response from daemon: driver failed programming external connectivity on endpoint 
A: 重启docker   原因: firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。
​

2.6 部署spring-boot(后续补充详细步骤)

在服务器新建一个docker文件夹,将maven打包好的jar包和Dockerfile文件复制到服务器的docker文件夹下

# 在当前目录下执行   .    (创建container)
docker build -t cloud-mms-basic:1.0 .
# run container
docker run -d --name "cloud-mms-basic"  -p 9504:8080 cloud-mms-basic:1.0
Q&A:
 1. java.lang.VerifyError: Stack map does not match the one at exception
 字节码验证错误-> java 版本问题 -> 修改DockerFile

2.7 开启远程访问

docker默认是不允许外面直接连接管理的,这里开启为了idea可以插件化管理

# link[https://www.cnblogs.com/hsz-csy/p/9488469.html]
vim /usr/lib/systemd/system/docker.service
​
在ExecStart=/usr/bin/dockerd-current 后面加上
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
​
​
#验证
systemctl daemon-reload
systemctl start docker
​
netstat -tulp
# 2375 默认端口开启
​
firewall-cmd --zone=public --add-port=2375/tcp --permanent

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值