重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天就跟大家聊聊有关轻量云服务器Ubuntu18.4如何配置docker,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
我们提供的服务有:成都网站设计、网站制作、微信公众号开发、网站优化、网站认证、川汇ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的川汇网站制作公司
a. 云轻量服务器ubuntu18.4
b. ssh连接工具xshell6
# 1. 使用xshell连接上服务器,并更新apt安装源 sudo apt-get update # 2. 安装必要的系统工具 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # 3. 安装docker-ce 的 GPG证书 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # 4. 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # 5. 安装并跟新docker-ce (此为官方免费版) sudo apt-get -y update sudo apt-get -y install docker-ce
docker version
通过学习资源后,我对于docker的理解(初学,个人理解,若错误请指正,共同进步)
每个docker的Image镜像都像一个安装了对应环境的微型linux虚拟机。docker可以管理这些镜像。 比如当pull一个Nginx的images下来,此时该就拥有了nginx环境的“虚拟机”,同样可以通过image id进入内部,就如同linux的目录一样。特别干净轻量,只包含了nginx配置。 同docker去管理一个container应用。 一个images镜像一般值对应一个container,既只跑一个应用。单一原则,3C原则。 不用包打包的项目部署到container中,images镜像应该是封闭的。 把自己打包后的项目,比如vue项目,打包为dist上传到服务器的任意地址,通过docker把该目录挂在到Images为nginx的镜像上,挂在后为Container。在Images中,该container应用为80端口,目录应该配置在Images("类似虚拟机")的/usr/share/nginx/html/下。开放端口为80,通过docker命令,做目录和端口映射。将其映射到外部的dist所在绝对地址,该外部开放为81端口。这样就可以通过服务器ip地址访问到在docker中的应用了。
拉取images镜像(nginx的)
docker images # 查看当前存在的镜像 # 安装docker后,查看镜像,现在还一个都没有
# docker search nginx 查看docker hub中是否有nginx docker pull nginx # 从dockerhub拉取一个nginx镜像 # docker images
至此,配置好nginx的images镜像已经拉取下来了,(像一台带环境的微型虚拟机已经弄好nginx了,现在需要在里面去跑我们的应用了,通过container去跑应用)
记不记得原来没有使用docker配置好nginx后默认目录在/usr/share/nginx/html/中。默认访问端口为ip :80端口。会有一个hello nginx的页面 如果我们现在也要测试是否可以了呢? docker需要去跑container容器。然后改容器映射dist和端口
上传本地打包的项目到指定目录。
我这儿使用新建做案例
cd /root # 跳转到根目录 mkdir nginx cd nginx # 创建nginx文件夹 mkdir vueDistData # 创建 vueDistData用于存放打包的项目 cd vueDistData vim index.html # 创建随意页面。通过container映射,会访问到它。 cat index.html # 查看index.html里面都有啥
OK,现在要通过Images Nginx来访问它。首先更改Images Nginx的container配置,并跑起来
docker run --name nginx -v /root/nginx/vueDistData:/usr/share/nginx/html -p 80:80 -d nginx # --name对container重命名为nginx # -v 做映射,将本地目录映射到镜像的容器目录,映射可以有多个,还可以映射nginx.config # -p 端口映射,将本地开放出去的端口映射到镜像的容器使用端口。此时都为80 # -d ngixn 后台执行nginx这个镜像
# 使用docker ps查看正在执行的镜像和其容器 docker ps
可以看到 container id: 容器id images: 镜像 created: 创建时间 status: 状态 ports: 映射出去端口和方式tcp names: container的名字
现在测试访问
查看服务器ip
我的是39.108.142.129,通过浏览器访问39.108.142.129:80看看能不能访问到,我们写在/root/nginx/vueDistData/下面的index.html。
虽然有中文乱码,但是成功了。至此部署nginx成功,把vue项目打包为dist里面的文件全部考到vueDistData下即可
有没有发现,还是有点麻烦,感觉个传统nginx部署差不多。
其实docker要慢慢学。我部署一个Images为Nginx成功,下次还可以不是apache tomcat等。不需要我去配置环境和端口。丢到映射好端口的文件夹下就可以了。
其实,真正的部署时不需要这么麻烦的。学习资料中有介绍到,通过dockfile去配置所有所有的一切。包括拉取镜像,命名容器,映射目录端口。然后通过docker build执行。 在项目中编写dockerfile,打包后存放到服务器随意目录,修改一下dockfile,然后docker build会去根据dockfile拉取配置一切 则可以自动部署。 我暂时没有学到。所以就不介绍了。
3C 单一原则,一个Images对应一个Container
数据等信息一般不适用docker部署。比如数据库,不要拉一个Images下来,在images里面去做数据库,docker镜像的可变动性很强,容易造成数据丢失。
看完上述内容,你们对轻量云服务器Ubuntu18.4如何配置docker有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。