docker部署项目

使用docker部署项目
1.安装
yum -y install docker

2.启动
sudo systemctl start docker
说明:如果启动安装成功,启动失败,可以参考 https://blog.csdn.net/qq_1365462762/article/details/80623524

3.获取镜像
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
例如:docker pull postgres:9.4
镜像仓库:https://hub.docker.com/r/fishgylk/showdoc/

4.列出镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
例如:docker images -a

5.创建容器并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
例如:sudo docker run -i -t -d --name es-dcs-webapp -p 1081:8081 b24c5eee68da8 /bin/bash
说明:1081为外部访问端口,8081是内部启动端口(如es-dcs-api容器里面启动的项目的locallhost:8081端口)
b24c5eee68da8 镜像id(也可用镜像名称,我的是jdk镜像)

6.进入容器,并创建文件
进入容器 sudo docker exec -it es-dcs-webapp /bin/bash
创建文件 cd /home mkdir es

7.将宿主机(安装docker的那个系统)上的项目 jar包复制到 docker容器上。
退出容器 exit
将jar包复制过来
sudo docker cp /home/emis/es-dcs-webapp-2.0-RELEASE.jar 17baf12b5309:/home/es
说明:17baf12b5309 容器id
进入容器该项目jar包处,并运行它
sudo docker exec -it es-dcs-webapp /bin/bash 进入容器
cd /home/es 进入项目目录
java -jar es-dcs-webapp-2.0-RELEASE.jar 运行项目jar包
注:java -jar es-dcs-webapp-2.0-RELEASE.jar这条命令,只要按ctrl+c便可结束运行
java -jar es-dcs-webapp-2.0-RELEASE.jar & 这条命令,可后台执行,通过结束进程或其它方式结束运行

8.访问地址:linux系统ip地址+创建容器时的第一个端口,本次案例是 10.205.**.*:1081

扩展:容器间通信
通机容器间的数据访问,如将一个项目部署到docker中,这个项目中需要访问的数据库也在这台服务器中另一个容器中,
甚至一个项目分为多个模块,一个模块一个容器,多个模块间相互访问,同时,也需要访问容器中的数据库,这就涉及到docker容器间的通信。
使用link机制解决这个问题。在创建容器的时候就说明,两个或多个容器可以通信,具体如下:
(1)先创建被访问数据的容器
docker run --name postgres1 -e POSTGRES_PASSWORD=password -p 5432:5432 -d postgres:9.4
说明:创建pgsql容器,创建pgsql容器参考https://blog.csdn.net/liuyueyi1995/article/details/61204205
sudo docker run -i -t -d --name es-dcs-api -p 1081:8081 b24c5ee68da8 /bin/bash
说明:b24c5ee68da8 镜像id,我的是jdk

(2)再创建需要访问es-dcs-api容器的容器
sudo docker run -itd --name es-ecs-api -p 1091:9091 --link pgsql:db --link es-dcs-api:dcs-ecs-api b24c5ee68da8 /bin/bash
说明:es-ecs-api 容器名称 1091:9091 --link pgsql:db 如url: jdbc:postgresql://localhost:5432/es 改为 url: jdbc:postgresql://db:5432/es
1091:9091 1091外部访问端口,9091项目启动端口

    --link pgsql:db  与名为pgsql的容器通信,db,pgsql别名,注意:在项目启动配置中,连接数据库的地址要改为 db,    例如url: jdbc:postgresql://localhost:5432/es 改为url: jdbc:postgresql://db:5432/es

(3)先后启动各自容器的项目即可

常用命令:

yum -y install docker 安装docker
sudo systemctl start docker 启动docker
docker pull postgres:9.4 获取镜像
sudo docker ps -a 查看全部容器
sudo docker images 查看docker全部镜像
docker tag name1 name2 重命名镜像
docker rmi iamgeName 删除镜像,不可删除正在使用的镜像,可加 f进行强删
docker save /path/imagesName imagesName 导出镜像
docker load imagesName 导入镜像
docker run -i -t -d -name dockerName -p 9080:9090 imageIdOrImageName /bin/bash 创建并运行容器
docker rename oldDockerName newDockerName 重命名容器
docker rm dockerName 删除容器
sudo docker ps 查看已启动的docker容器
sudo docker stop dockerNameOrDockerId 停止容器
sudo docker start dockerNameOrDockerId 启动容器
sudo docker exec -it dockerId 进入容器
sudo docker cp /home/es.jar dockerId:/home/es 将宿主机jar包复制到docker目录中
sudo
mkdir 文件名 新建文件夹

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页