大佬教程收集整理的这篇文章主要介绍了Docker基础介绍,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Docker是一种基于Linux内核的,属于操作系统层面的虚拟化技术,是一种环境部署工具,本质就是一个软件.
用来发布网站的
这里提一下VM,vmware虚拟机是基于硬件(cpu,内存,磁盘)的一种虚拟化技术
当我们需要搭建环境的时候,如果用传统的方式,每一个环境就需要一个服务器,产生的费用会很高,
那么用Docker来搭建:
Docker是比较流行的环境部署方式
一种特殊的文件,负责产生容器,是容器所运行的环境
一个镜像可以生成多个容器
一个容器死亡,其他容器可以继续使用
一个小Linux系统或者说一个小型服务器
在互联网上用来存放dokcer镜像的地方
docker version
当有两个docker版本号时(C/S),说明启动服务成功
docker -v
需求:普通用户并没有docker使用权限,需要root用户创建docker组,为普通用户提供docker服务
创建docker组
[sudo] groupadd docker (在root用户下不需要使用sudo,sudo表示以管理员身份运行)
注意:这里的组名必须为docker
将普通用户添加docker组
修改/etc/sudoers配置文件
修改该文件之前,因为该文件没有可写属性,需要手动修改可写属性
chmod u+w /etc/sudoers
进入/etc/sudoers配置文件,添加一行:用户名 ALL=(ALL) ALL
(小技巧:这里可以使用**/root命令查找root字符串,输入:set nu**显示行数)
保存退出
重启系统
以上步骤完成之后,普通用户就可以使用docker了
上面红色提示不用管(只是为了让你输入root密码)
https://dashboard.daocloud.io
搜索指定镜像信息
docker search 镜像名(如:php)
下载镜像
docker pull 镜像全名:版本号,:版本号可以不写,不写表示下载最新版本
查看本地所有镜像
docker images
删除镜像
docker rmi 镜像名(或镜像ID(输入前几位就行了,只要是唯一的就行))
国外镜像下载会很慢,这里可以使用国内的网站镜像去下载
找到docker配置文件/etc/docker/daemon.json,写入网址
(这里用的是阿里云)
重新加载配置文件,systemctl daemon-reload
重启docker服务,systemctl restart docker
生成容器
docker run -d 镜像名
从镜像中创建容器,-d选项表示容器在后台运行
查看当前系统中所有容器信息
docker ps -a
停止UP状态的容器
docker stop 容器ID
删除容器
docker rm 容器ID
注意:只能删除非UP状态(也就是EXIT或CREATE状态)的容器
进入容器
docker exec -it 容器ID bash
注意:只能进入UP状态的容器
退出容器
先按ctrl p再按ctrl q,或者直接按ctrl z
docker真正的作用就是使用docker容器作为一个平台(服务器)来发布网页
外部游览器通过大Linux的端口(8088(这个可以自己随便设定,一般在3000以上))找到大Linux服务器,
然后大Linux使用端口映射技术找到容器端口80,
这样就可以使外部游览器能够找到容器了
路径映射是一样的道理
端口映射使用以下表示
路径映射使用以下表示
-v 大Linux中成果文件的路径:容器中成果文件的路径 (容器中成果文件的路径默认为/app)
思路:
具体实现:
下载镜像
docker pull webdevops/php-apache-dev
apache版本用来接受游览器的请求
将开发成果传至Linux,注意:不能直接放在属主目录中,需要在属主目录中新建一个目录
使用命令生成容器
-d表示生成的容器在后台运行
这里可以验证以下容器时候生成:
去游览器上看看:
成功.
发布多个网页时,使用不同的端口号就可以了,如:8088改为8077
知识点:
java开发的成果物是一个jar包,要运行jar包,必须使用命令:java -jar jar包名,
linux中是没有java命令的,这个命令必须在java容器中使用,但是使用docker run 镜像名生成容器时,
此时生成的容器并没有java -jar 这个命令,
所以我们要在容器生成之前写一个配置文件,将java -jar命令写入其中,然后利用这个配置文件自定义一个镜像,用这个镜像生成容器,那么在容器生成的时候就可以自动执行该命令了,
执行了该命令之后才能生成我们的java环境,才能运行java成果
思路:
下载java运行环境的镜像
docker pull openjdk:8-jdk-alpine
@H_936_502@
编写配置文件
编写镜像配置文件,必须新建一个名为Dockerfile的文件(严格区分大小写),
这个文件就作为自定义镜像的配置文件
保存退出
(注意:配置文件中尽量不要写中文,否则可能出现编码错误)
自定义镜像
构建镜像之前需要确保Dockerfile文件和开发成果物(jar包)在同一目录下
使用命令:
docker build --build-arg 参数名=jar包名 -t 新镜像名 Dockerfile文件所在目录
@H_673_590@
使用自定义的镜像生成容器
docker run -d --name=yzz_test -p 8011:18888 yzz:1.0
–name选项表示指定新生成容器的名字,
注意:这里的镜像名必须带上版本号,否则系统识别不出来
需要多个镜像容器来发布
安装一个小工具,docker-compose
使用该工具可以执行.yml配置文件
.yml配置文件里面含有编写好的需要哪些镜像和镜像生成容器的步骤
docker-compose会自动读取同目录下的.yml文件(自动下载镜像)
安装步骤:
将.yml文件放入与docker-compose相同目录下
@H_211_675@
执行.yml文件
docker-compose up -d
该命令会自动读取.yml文件并下载所需要的镜像文件
以上是大佬教程为你收集整理的Docker基础介绍全部内容,希望文章能够帮你解决Docker基础介绍所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。