docker 学习总结

一、安装docker

1.安装yum-utils软件包(提供yum-config-manager 实用程序)并安装devicemapper驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

2.设置yum 源

官方:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

阿里云:
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学:
yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

3.安装docker

yum install docker-ce

4.启动并开启开机启动

systemctl start docker
systemctl enable docker

 

二、遇到的问题

1.启动dockers时报 Job for docker.service failed because start of the service was attempted too often. See "systemctl s

解决:把daemon.json改为daemon.conf。使用mv命令修改后,docker启动正常。 mv /etc/docker/daemon.json /etc/docker/daemon.conf

然后重载配置文件   systemctl daemon-reload

一、https://www.cnblogs.com/linyufeng/p/12058595.html

https://www.cnblogs.com/panwenbin-logs/p/8007348.html

 

三、docker 打包到镜像并上传到私服

1.Dockerfile 文件编写

FROM openjdk:8

WORKDIR .

COPY userService-10003.jar demo.jar

COPY application-dev.yml application-dev.yml

COPY application-prod.yml application-prod.yml

ENV a dev

ENTRYPOINT exec java -jar demo.jar --spring.profiles.active=$a  //启动时指定环境,通过启动容器时指定 -e a=dev

2.构建镜像

docker build -t eureka:v1 .

3.下载私服镜像并启动

docker pull registry  //下载私服镜像
docker run -d -p 5000:5000  --name myregistry --restart=always registry //启动镜像
docker run -it -p 10003:10003 -e a="dev"  user:v7 //指定环境为dev

4.私服配置

vim /etc/docker/daemon.json
{ # ustc的加速源
"registry-mirrors": ["https://nrbewqda.mirror.aliyuncs.com"], "insecure-registries":["192.168.31.181:5000"] //# 让docker信任192.168.31.181:5000registry私服地址,添加后docker 上传和下载都按照http 方式(默认https 会报错) }
$ sudo systemctl daemon-reload  //重新加载配置文件
$ sudo systemctl restart docker

5.推送镜像到私服

docker push localshot:5000/eureka:v1

curl -XGET http://192.168.18.145:5000/v2/_catalog 查看私有仓库

curl -XGE http://10.10.100.216:5000/v2/dianbiao/tags/list  查看私服某个镜像各个版本信息

6.下载镜像到私服

同理配置docker 客户端,添加私服信任的ip地址,使得通过http访问
docker pull localhost:5000/eureka:v1

7.启动镜像

docker run -it -p 10000:10030 eureka:v1   //-it 按照交互模式启动可以看到日志打印,-p 前一个是对外暴露端口,后一个是容器内部端口

docker run -d -p 10000:10030 eureka:v1   //-d 按照后台模式启动,不会推出,-p 前一个是对外暴露端口,后一个是容器内部端口

总结

1.docker 构建好处在于能够将jar包运行的环境及jar 包一起打包构建,不同的环境只需要下载镜像就可以启动相同的服务,方便运维管理

2.docker 容器访问宿主机mysql 时 采用ip地址 172.17.0.1 访问 ,访问下设置mysql 权限可访问

 

posted @ 2020-11-14 23:35  狭路相逢智者胜  阅读(120)  评论(0)    收藏  举报