Spring Cloud开发实践 - 04 - Docker部署

Docker安装

Docker的安装可以参考 https://docs.docker.com/ 下面的 Get Docker / Docker CE / Linux, 需要关注的主要是CentOS和Ubuntu, 可以通过添加仓库地址再通过 yum install 或 apt install安装, 也可以下载rpm包和deb包进行安装.

对应Ubuntu18.04 64bit系统的deb下载地址是 https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/ 

安装完之后, 会自动在系统中添加 docker 服务

禁止docker随系统自启动

sudo systemctl disable docker

设置docker的mirror, 否则build会非常慢

$ sudo edit /lib/systemd/system/docker.service
# 修改以下这行, 加上后面的 --registry-mirror=https://docker.mirrors.ustc.edu.cn
ExecStart=/usr/bin/dockerd -H fd:// --registry-mirror=https://docker.mirrors.ustc.edu.cn

将自己的用户加入docker用户组, 用id命令查看是否生效. 需要退出登录使group设置生效, 如果不生效则重启. 

# 加入用户组
sudo usermod -aG docker milton
# 查看结果
getent group 
# 或者
cat /etc/group
# 查看是否生效
id

Docker常用命令说明

# 测试运行Hello World
docker run hello-world
# 查看版本
docker --version
# 查看信息
docker info
# 查看image列表
docker image ls --all
# or
docker images --all
# 删除image
docker rmi [IMAGE ID] # 使用当前目录的Dockerfile制作image, 用
-t指定image名称 docker build -t scot-eureka . # 运行docker容器, 其中name为容器名称, -p指定端口映射 docker run -d --name eureka -p 8762:8761 scot-eureka # 查看运行中的docker 及其端口 docker ps # 查看所有的docker容器(包括未在运行的) docker ps -a
# 删除docker容器
docker rm [docker-name | container-id] # 查看docker端口映射 docker port [docker
-name | container-id] # 查看docker运行日志 docker logs [docker-name | container-id] # 停止docker容器 docker stop [docker-name | container-id]

.

Docker部署Spring Boot jar项目

编写Dockerfile

FROM java:8
ADD target/scot-eureka.jar scot-eureka.jar
ENTRYPOINT ["java", "-jar", "/scot-eureka.jar"]

制作Docker Image

docker build -t scot-eureka .

启动Docker container

docker run -d --name eureka -p 8762:8761 scot-eureka

其中8761是jar本身打开的端口, 8762是从外部(容器IP或者本机IP)去访问的端口, 可以通过 docker ps 或者 docker port [docker-name | container-id] 查看映射关系

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2ea7392a8b51        scot-eureka         "java -jar /scot-eur…"   25 minutes ago      Up 25 minutes       0.0.0.0:8762->8761/tcp   eureka

这时候就可以通过容器或本机的 IP:8762 端口去访问eureka.jar启动的服务了.

.

猜你喜欢

转载自www.cnblogs.com/milton/p/9858117.html