docker 菜鸟教程(docker快速入门)

关于 Docker 的一些概念和操作,我争取这一篇博客说完。下面正文开始。

Docker 镜像与容器

说到 Docker ,你会常遇到两个内容:image 和 container (即镜像和容器) 关于镜像和容器,你可以这样来理解:镜像是构建 Docker 的基石,用户基于镜像来运行自己的容器。或者说,镜像是 Docker 生命周期中的构建或打包阶段,而容器则是启动或是执行阶段。好吧,说的再明白点儿,就是有了镜像,才有的容器。容器是在镜像的基础上,才有的。

Docker 安装

以前写过,这里就不赘述了,直接上链接:需要科学上网的安装方法:[Docker]CentOS7下Docker安装教程不需要科学上网的安装方法:[Docker]CentOS7通过rpm包安装Docker

Docker 相关命令

Docker 操作相关命令:

systemctl start docker启动 docker
systemctl status docker查看 docker 状态
systemctl stop docker停止 docker
systemctl enable docker开机自启
docker info 查看 docker 概要信息
docker --help查看 docker 帮助文档

镜像相关命令:

查看镜像命令:

docker images

搜索镜像:

docker search 镜像名称

拉取镜像:[Docker]Docker拉取,上传镜像到Harbor仓库删除镜像:[Docker]如何批量删除镜像

容器相关命令:

查看容器:查看正在运行的容器:

docker ps

查看所有容器:

docker ps -a

查看最后一次运行的容器:

docker ps -l

查看停止的容器:

docker ps -f status=exited

创建容器:

docker run

可以在 run 后面加参数。其中:

-i 表示运行容器
-t 表示容器启动后进入其命令行
--name 为创建的容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录)
-d 在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口

交互式方式创建容器

docker run -it --name=容器名称 镜像名称:标签 /bin/bash

守护式方式创建容器

docker run -di --name=容器名称 镜像名称:标签

登录守护式容器方式

docker exec -it 容器名称(或容器 ID) /bin/bash

启动容器:

docker start 容器名称(或容器 ID)

停止容器:

docker stop 容器名称(或容器 ID)

文件拷贝:

将文件拷贝到容器内

docker cp 需要拷贝的文件或目录 容器名称:容器目录

将文件从容器内拷贝出来

docker cp 容器名称:容器目录需要拷贝的文件或目录

目录挂载:

在创建容器时,将宿主机的目录与容器内的目录进行映射,这样可以通过修改宿主机某个目录的文件从而去影响容器 创建容器 添加 -v 参数 后边为 宿主机目录:容器目录,完整命令:

docker run -v 宿主机目录:容器目录

如果共享的是多级目录,可能会出现权限不足的情况 可以通过添加参数 --privileged=true 来解决,因为 CentOS7 中安全模块将 selinux 权限禁掉了,添加此参数,可以将问题解决。

查看容器 IP:

docker inspect 容器名称(容器 ID )

也可以直接输出 IP 地址:

docker inspect --format='{{NetworkSetting。IPAddress}}' 容器名称(容器 ID)

删除容器

docker rm 容器名称(容器 ID)

常见的应用部署

MySQL 部署:

1 ,拉取镜像:

docker pull centos/mysql-57-centos7

2 ,创建容器:

docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root centos/mysql-57-centos7

其中:-p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是 root 用户的登录密码 3 ,进入 mysql 容器:

docker exec -it mysql /bin/bash

4 ,登录 mysql :

mysql -u root -p

tomcat 部署:

1 ,拉取镜像

docker pull tomcat:7-jre7

2 ,创建容器

docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/webapps tomcat:7-jre7

Nginx 部署:

1 ,拉取镜像

docker pull nginx

2 ,创建 nginx 容器

docker run -di --name=mynginx -p 80:80 nginx

Redis 部署:

1 ,拉取镜像

docker pull redis

2 ,创建 redis 容器

docker run -di --name=myredis -p 6379:6379 redis

迁移与备份

容器保存为镜像:

docker commit 容器名称 镜像名称

例:

docker commit mynginx mynginx_i

将镜像保存为 tar 文件,例:

docker save -o mynginx。tar mynginx_i

镜像恢复与迁移:-i 输入的文件,例:

docker load -i mynginx。tar

Dockerfile

Dockerfile 是由一系列命令和参数构成的脚本,基于基础镜像,最终创建一个新的镜像,常用命令有:

FROM image_name:tag 定义了使用哪儿个基础镜像启动构建流程
MAINTAINER user_name声明镜像的创建者
ENV key value设置环境变量(可以写多条)
RUN command 是 Dockerfile 的核心部分(可以写多条)
ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file 和 ADD 相似,但是如果有压缩文件并不能解压
WORDIR path_dir 设置工作目录

需要注意一下,如果要使用 Dockerfile 文件,名字必须为「Dockerfile」,否则里面的命令不会有效。

镜像上传下载到镜像仓库

以前写过博客,感觉还是比较详细的:[Docker]Docker拉取,上传镜像到Harbor仓库(在上面应该也看到过了,再放一次)

关于 Docker 入门,我只能帮你到这儿了~

最后,我想重复一句话:选择和一群优秀的人一起成长,你成长的速度绝对会不一样!

欢迎转发到朋友圈

欢迎留言

(0)

相关推荐

  • InDraw怎么用?InDraw(Integle ChemDraw)快速入门教程

    InDraw全称Integle ChemDraw作为integle核心工具之一,专为化学.医药科学家提供完整易用的绘图解决方案,不仅能够快速绘制化学结构及反应式,而且可以获得相应的化学属性数据.系统命 ...

  • 在CentOS系统中安装Docker的教程

    最近折腾centos6,需要在其上配置docker,而以前都是在ubuntu上玩的,网上的文章没有找到一个让我直接能配成功的,多少都会有些坑,综合了几篇文章,折腾了老久,终于成功了. 我保证你按我下面 ...

  • cad基础快速入门教程

    cad不管在工作还是学习中,经常会用到,这里小生说一下cad的快速入门方法,操作类的软件其实都是非常简单的,都是一个熟能生巧的过程.这里使用的是高版本的,因为高版本软件越来越简单. 操作方法 01 如 ...

  • 国行中兴v880简单刷机教程v880快速刷机教程

    国行中兴v880简单刷机教程v880快速刷机教程 注:本教程只适用国行,由于我的机子是6月的,没有出现部分7月机友刷机后花屏的问题,但是我用的是隔壁G大的包,说是内核加入7月新机器的LCD显示支持,解 ...

  • 怎么使用Win8快速入门指导

    Win8客户预览发布啦,全新的操作会不会令你无所适从?如何快速入门玩转Windows8?Windows8快速使用指南中文版助你一臂。 Win8装好以后面对全新的Metro界面如何操作?没有触摸屏,只有 ...

  • Powerpoint教程之快速对齐小数点

    小数点没对齐整个文档看上去乱乱的,怎么把小数点对齐呢?其实可以自己调整的。如果Powerpoint幻灯片中列出一组带小数点的数字,并且想让它们以小数点为准进行对齐 ,可按下面的方法快速完成。我们以Po ...

  • 如何用Visio2007创建基本框图快速入门的详细步骤

    微软Visio2007为我们提供大量的模板以及无数的形状,这其中一些显得比较简单,但是另外的一些却又相对比较复杂,让人无可适从.本文主要就是为大家介绍如何用Visio2007创建基本框图以便你能够快速 ...

  • photoshop快速入门

    如果掌握关键的几步,快速入门phtoshop处理图片 操作方法 01 多余的说教只会损伤大脑细胞,也是对观众智商的侮辱,所以入门一个软件的使用抓住关键步骤很重要. 首先我们打开一张图片,主要掌握的是三 ...

  • solidworks初学者快速入门

    solidworks是一款强大的计算机辅助三维设计软件,功能强大,但操作却很简单.对于初学者而言,这里较你快速入门. 操作方法 01 打开solidworks,新建零件图,首先,你需要明白,任何草图的 ...

  • 【手持云台教学】大疆灵眸Osmo快速入门

    在运动中捕捉清晰.稳定的影像,摆脱模糊的画面.歪斜的构图和杂乱无章的摇晃镜头.以前使用专业设备才能获得的流畅视觉效果,现在触手可得.灵眸Osmo是一台小巧智能的一体化手持云台相机,不仅能轻松拍摄高品质 ...