Docker应用部署 一般部署步骤 搜索镜像 拉取镜像 创建容器 操作容器 部署MySQL 前文说到,Docker容器本身不能直接与外部机器通信,其只能与宿主机直接通信,而宿主机又可以直接与外部机器通信 ,所以想要访问Docker容器,就可以将Docker容器的端口映射到宿主机的端口上(一般都对应到相同端口),这样就可以利用宿主机的端口间接访问Docker容器,即端口映射 # 搜索镜像 docker search mysql # 拉取镜像 docker pull mysql # 创建容器,注意创建容器前,在根目录下创建mysql文件夹并进入该目录下,后续数据卷的安装在/root/mysql下进行 docker 容器的3306端口已经映射到宿主机的3306端口,可以通过外网访问3306端口对mysql进行操作 部署Tomcat # 根目录下创建tomcat文件夹存储数据卷 mkdir ~/tomcat # 切换到指定目录下创建容器 :8080 \ # 配置映射端口 tomcat:latest # Tomcat部署并启动后默认会启动服务器 # 创建测试文件并在外网利用8080端口访问 mkdir test cd test vim
很多时候需要在mysql上进行实验,在本地使用docker部署是一个很好的方式,故有此文:mac本地使用docker快速部署多个mysqlDB实例。 下载最新image: docker pull mysql 本地部署多个mysql实例需要在host(容器外部)指定多个my.conf配置文件,以及多个目录用于存放不同DB的数据。 先在宿主机创建两个DB的数据存储目录,用于本地持久化: /Users/hepengyuan/Documents/docker-local/docker-local-mysql-0/data /Users /hepengyuan/Documents/docker-local/docker-local-mysql-1/data 执行容器创建命令: docker run --name mysql-0 -v / =password -d mysql:latest docker run --name mysql-1 -v /Users/hepengyuan/Documents/docker-local/docker-local-mysql
通常,帮朋友部署 WordPress 的这个场景下,你可以找朋友开一台新的服务器,初始化一套 LAMP,直接把 WordPress 给 wget 进去,就可以在你的浏览器里完成配置了。 但是,前两天我需要在自己的服务器上部署一个 WordPress 服务。我这样的蒟蒻当然是无缘使用世界上最好的编程语言—— PHP 的啦。没有 PHP,还部署个屁的 WordPress。 所以就想到了—— Docker,用容器去把它装起来就好了嘛。 想到就动手做,接下来我们就看看怎么用 Docker 部署 WordPress。 为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行: $ docker pull mysql:latest 注意,这篇文章写在 2020 (当然,我只是开一个简单的小服务,基本没人用,所以也就几乎没有安全风险,但您在部署的时候还是要花点时间认真考虑安全问题的) 接下来就是在您的浏览器访问 http://xxx:2020/wp-admin/
博主还提供了另一种方式,每次发布只需要将打包后的dist内容放到linux主机目录即可,感兴趣的道友可以直接参考这一篇:docker 安装 nginx 发布Vue项目_苍穹之跃的博客-CSDN博客nginx nginx # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 COPY dist/ /usr/share/nginx/html/ 第三步:安装nginx docker pull nginx docker run --name nginx -d -p 4030:80 nginx 访问4030端口看看是否安装成功。 第四步:linux上找个空目录放项目文件和Dockerfile 第五步:构建镜像,cd到Dockerfile目录下 docker build -t 取个镜像名称 . 第六步:运行容器 docker run --name 取个容器名称 -d -p 9020:80 上一步取的镜像名称 访问一下9020检查是否运行成功。
使用docker部署influxdb 生成默认config.yml docker run \ --rm influxdb:latest \ influxd print-config > config.yml docker-compose.yaml version: "3" services: influxdb: image: influxdb:latest container_name: influxdb /code/docker-influx/data:/var/lib/influxdb/data - /rssp/code/docker-influx/meta:/var/lib/indluxdb/meta - /rssp/code/docker-influx/wal:/var/lib/indluxdb/wal - /rssp/code/docker-influx/backup/bin:/home/backup - /rssp/code/docker-influx/backup/data:/tmp/backup/data - /rssp/code/docker-influx/backup/gz:/tmp/backup
③【Docker】Docker部署Nginx docker拉取nginx镜像: docker pull nginx 安装并启动nginx服务: docker run \ --restart always docker操作nginx常用命令: # 注意,Nginx是我安装启动时为这个服务取的名字,若名字不同请使用自己的服务名 #停止: docker stop Nginx #重启: docker restart Nginx #删除服务: docker rm Nginx #删除镜像: docker rmi Nginx #进入服务: docker exec -it Nginx /bin/bash Docker中有几个重要的概念 我们要使用Docker来操作镜像、容器,就必须要安装Docker。 Docker是一个CS架构的程序,由两部分组成: 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 客户端(client):通过命令或RestAPI向Docker
的image (分配app运行的资源) docker pull 3、docker的container(运行image的容器) docker run -d --name=demo 镜像名称 # 指定名称 docker run -it centos 交互式运行 --进入运行的容器 docker exec -it 容id 执行的命令 docker exec -it 11a5342fsd3 /bin/bash up -d 启动部署 在docker部署微服务项目: 1、使用dockerfile构建项目镜像 2、在docker使用生成镜像启动对应服务 服务名称 端口 comment-server 8002 house-server 8011 user-server 8000 esp-zuul 9000 esp-web 7000 comment-server ->user-server 部署用户服务 docker run -d house --link user-server:user -p 8011:8011 house/house 部署评论服务 docker run -d --name comment-server --
1、部署前准备 1.检查服务器是否能访问外网 #检查外网连通性 ping 114.114.114.114 #检查DNS服务 ping baidu.com 如果外网通而DNS不通,则需要手动配置DNS yum -y -x 'kernel*' update 注意: 不可以直接执行 yum update -y 或 yum upgrade -y,这两个命令都有可能更新内核造成系统不稳定,例如重启后无法启动等 3. ifcfg-ens开头的文件 #将名称换成实际文件名称 cat ifcfg-ens33 查看ONBOOT是否为yes,若不是yes,请修改成yes 5.关闭SElinux 此处内容需要评论回复后方可阅读 2、安装Docker
centos7部署docker 官方参考文档:https://docs.docker.com/engine/install/centos/ 在此提供自己的安装文件: 链接:https://pan.baidu.com x86_64.rpm 3、启动 sudo systemctl start docker 4、测试 #此命令下载测试映像并在容器中运行它。 2、把该文件上传到 /usr/local/bin 3、修改文件权限 chmod +x /usr/local/bin/docker-compose 4、查看是否安装成功 docker-compose - v 图片 Windows 部署 docker 1、官网下载docker desktop(先别急安装):https://hub.docker.com 2、确认电脑是否开启hyper -v 搜索栏搜索: 是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作
docker集群部署:第3部分:服务 介绍 在第3部分中,我们将扩展应用程序并实现负载平衡。 关于服务 在分布式应用程序中,应用程序的不同部分被称为“服务”。 #docker stack deploy -c docker-compose.yml getstartedlab 我们的单个服务堆栈在一台主机上运行了5个部署映像的容器实例。让我们来查看下。 缩放应用程序 你可以通过更改docker-compose.yml中的实例值,保存更改并重新运行docker stack deploy命令来扩展应用程序: 如将 replicas(实例): 5 更改为3 #docker stack deploy -c docker-compose.yml getstartedlab Updating service getstartedlab_web (id: f4pqg1x8eznhxu6bb897t6l3v 现在,重新运行docker container ls -q来查看重新配置的已部署实例。
docker的核心思想是通过对应用的封装、分发、部署、运行生命周期进行管理,达到应用组件级别的“一次性封装,到处运行”。 3.再次更新yum源,并安装docker yum update yum install -y docker-ce 看到这个页面,标识docker已经安装成功了。 include>${ project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 3. 4a2:表示镜像的id(IMAGE ID)前3位,这里的id并不需要输入全称,只需要输入前几个就行,有一个前提:当有很多镜像的时候,前面几个字符就有可能会相同,这个时候就需要多输入几位,直到不相同位置。 /test docker查看容器的日志 这说明我们已经springboot项目已经启动成功了,到这里docker部署springboot项目差不就结束了,但是你可能还有一个疑问,如果我想看控制台的日志怎么办呢
我是用 rz 命令直接选择 jar 上传到我存放 jar 的目录:/root/jiangyu/dockerfiles/jar 3.编写超级简单版本的 dockerfile 文件: # jdk 是一个已有的包含 我的工程设置的本地端口也是8089 6. postman 和浏览器 顺利请求到 gentle 工程中的接口,说明部署成功 7. gentle 工程中接口实现: 部署完啦 ,走,出门溜达溜达,找点吃的去 ... -------------------------------- 2018.11.28 后记,每次改代码都要重新部署依旧很麻烦,于是写了个很简单的脚本,运行就部署。 新镜像构建成功\n\033[0m" # 删除原容器 docker rm -f gentle # 启动容器 docker run -d -p 8089:8089 --name gentle gentle 另外:前端工程部署脚本见:前端 vue 工程 Docker 方式部署
概述 zabbix在docker官方的镜像源中,有维护zabbix公司官方的镜像,我们可以通过hub.docker.com进行下载,搭建docker环境下的zabbix,可以使我们的安装和部署更加快捷。 zabbix的docker镜像源 从这里 zabbix docker镜像源 我们可以打开看到zabbix官方在docker仓库里面维护的镜像源信息。 mysql数据库部署 在部署zabbix服务器前,需要提前部署mysql服务器并且创建好zabbix数据库以及用户 拉取mysql镜像 docker pull mysql 运行mysql服务器 docker ppassword zabbix < /tmp/mysql/images.sql mysql -uzabbix -ppassword zabbix < /tmp/mysql/data.sql zabbix服务器部署 172.17.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -d zabbix/zabbix-server-mysql zabbix-front服务器部署
部署nexus docker部署nexus docker pull sonatype/nexus3 mkdir /data/nexus-data chown -R 200 /data/nexus-data docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -v /data/nexus-data:/nexus-data sonatype/nexus3 docker-compose部署nexus version: "3" services: nexus: image: sonatype/nexus3:latest 仓库 设置 --> Repositories --> Create repository --> docker(hosted) Name:输入创建的名字,如docker-repo HTTP:8082 启动Enable Docker V1 API 连接仓库 vim /etc/docker/daemon.json { "registry-mirrors": ["https://hk0l6i5k.mirror.aliyuncs.com
基于 docker 部署 gitlab 比较方便,但服务器至少需要 4GB 内存,否则可能出现 502 错误。 1. 拉取镜像 # 查询 docker search gitlab # 拉取 默认latest docker pull gitlab/gitlab-ce 2. 安装镜像 docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ee:latest #正常情况下 就可以通过ip访问了 3. 配置端口 配置 gitlab 克隆时的端口(端口配置根据自己的需求选择) # 进入容器 docker exec -it gitlab /bin/bash # 编辑配置文件 vim /etc/gitlab
拉取tomcat镜像docker pull tomcat:8.5创建容器并运行docker run -d --name jsoncrack -p 8080:8080 tomcat:8.5此时可以访问ip :8080,但是404,因为webapps里没有ROOT文件夹进入容器创建ROOT文件夹,然后退出docker exec -it jsoncrack /bin/bashcd /usr/local/tomcat /webapps/mkdir ROOTexit将宿主机的文件拷贝到容器里docker cp /a/b/c/ jsoncrack:/usr/local/tomcat/webapps/ROOT完成!
-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId <imageName>docker/${project.artifactId}</imageName> <dockerDirectory>src/main/docker< :build docker image docker run -p 1110:1110 -t imagename 四、eureka的部署 defaultZone: http://eureka-image-name :1110/eureka/ 主要是eureka的地址指定 关键的启动命令: docker run --name eureka-image-name -p 1110:1110 -t docker/eureka-server docker run --link eureka-image-name:1110 -p 2000:2000 -t docker/gateway 这样子就可以解决eureka的地址问题。
昨天尝试了下SpringBoot 的Docker部署,虽然踩了很多坑,但是总算是弄出来了,下面整理一下思路,方便以后使用。 这里部署的难点,主要是我的SpringBoot项目用到了redis和mysql,如果直接在一个镜像里安装redis和mysql,那就和在虚拟机上部署一样了,所以我把SpringBoot的jar包和redis ,mysql分别做成了三个镜像 1.部署mysql Dockerfile FROM mysql ADD sell.sql sell.sql //sell.sql 为项目sql脚本 //这里应该其实应该写执行 1.登录mysql 2.创建数据库 3.导入sql脚本 的命令 //另一种直接在命令行写 另一只直接在构建镜像的时候就把数据导入工作做好的请看这篇文章http://www.zhimengzhe.com redis docker pull redis; docker run -d --name sellredis redis; //这里我的redis写的比较简单,所以就直接run了 3.部署springboot
今天看到有个人 把 docker 部署Gitlab 的文章设置为付费文档了 我就呵呵了。。。 我也来下一篇,免费的 就那么一行命令 sudo docker run --detach \ --hostname 115.159.52.223 \ --publish 443:443 --publish
环境 操作系统:CentOS 7 Docker版本:20.10.10 1.搜索MinIO镜像 选择第一个,minio/minio,或者去hub.docker.com去搜索也可以 docker search minio 2.拉取MinIO镜像 docker pull minio/minio 3.创建容器 创建容器之前先创建两个文件夹,用来映射,假设我在服务器创建的路径是:/root/data和、/root /config,创建容器的命令如下 docker run -d -p 9000:9000 -p 50000:50000 --name minio \ -e "MINIO_ROOT_USER=admin" console-address ":50000" -address ":9000" 容器命令解释 稍微说一下 -d 后台运行 -p 9000:9000 #前面的9000是打开本机的9000端口映射docker