Docker基础:VMware虚拟机Centos7环境下docker安装及使用
1.docker简介
官网https://docs.docker.com/engine/install/

1.1 镜像(image)
docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,通过镜像可以创建多个容器
1.2 容器(container)
docker利用容器技术,运行一个或者一组应用,通过镜像来创建的。
启动,停止,删除,基本命令
目前可以同期理解为一个简易的Linux系统
1.3 仓库(repository)
仓库用来存储镜像
2.docker安装
我是利用虚拟机搭建的centos环境,关于虚拟机的搭建可以参考https://www.cnblogs.com/pengboke/p/13063168.html
手动安装
2.1 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.2 安装所需的软件包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.3 设置仓库(以下选一种即可)
2.3.1 官方源地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2.3.2 阿里云
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.3.3 清华大学源
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
2.4 安装最新版本的 Docker Engine-Community 和 containerd(docker-ce是社区版 而ee是企业版)
列出并排序您存储库中可用的版本(以下任选一种方案)
(1)yum list docker-ce --showduplicates | sort -r
安装特定版本
sudo yum install docker-ce-<version_string> docker-ce-cli-<version-string> containerd.io
(2)或者直接执行以下命令安装最新版
sudo yum install docker-ce docker-ce-cli containerd.io
2.5 启动 Docker
sudo systemctl start docker
2.6 运行 hello-world 进行验证
sudo docker run hello-world
3.卸载docker
3.1 删除安装包
yum remove docker-ce
3.2 删除镜像、容器、配置文件等内容
rm-rf /var/lib/docker
4.阿里云镜像加速
4.1 vim /etc/docker/daemon.json 4.2
{
"registry-mirrors": ["https://****.mirror.aliyuncs.com"]
}
4.3
# 重启服务
systemctl daemon-reload
systemctl restart docker
4.4 docker info 查看docker信息 最后几行

5.docker的常用命令
5.1 帮助命令
docker version #显示docer的版本信息
docker info #显示docker的系统信息 包括镜像和容器的数量
docker 命令 --help #命令
5.2 镜像命令
docker images #查看所有本地主机上的镜像 可以使用docker image ls代替

dokcer search #搜索镜像

dokcer pull #下载镜像 docker image pull 分层下载

docker rmi #删除镜像docker image rm
docker rmi -f 镜像id #根据镜像id删除
docker rmi -f 镜像id 镜像id 镜像id #删除多个镜像
docker rmi -f $(docker images -aq) #删除所有镜像

5.3 容器命令
docker run 镜像id #新建容器并启动
docker run -it centos /bin/bash

exit #容器直接退出
ctrl + P + Q #容器不停止退出

docker ps #列出所有的运行的容器 docker container list

docker ps -aq

docker rm 容器id #删除指定容器
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -a -q | xargs docker rm #删除所有容器
dokcer start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
dokcer kill 容器id #强制停止当前容器
5.4 后台启动命令
docker ps 后发现 centos停止了
docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止
nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
docker run -d centos #后台启动命令

5.5 查看日志
docker logs -t --tail n 容器id #查看n行日志
docker logs -ft 容器id #跟着日志
5.6 查看进程
docker top 容器id #查看容器中进程信息id
docker top 694f11ed26d1

5.7 查看镜像元数据
docker inspect 容器id #查看镜像的元数据
docker inspect 694f11ed26d1

5.8进入当前正在运行的容器
docker exec -it 694f11ed26d1(容器id) /bin/bash #进入当前容器后开启一个新的终端,可以在里面操作。(常用)

docker attach 694f11ed26d1(容器id) # 进入容器正在执行的终端

5.9 从容器内拷贝文件到主机

6.docker安装Nginx
6.1 安装nginx
docker run -d --name nginx00 -p 3344:80 nginx
6.2 查看容器
docker ps
6.3 查看nginx

7.docker安装tomcat
7.1 安装tomcat
docker run -it --rm tomcat:9.0

7.2 下载tomcat
docker pull tomcat

7.3 启动运行
docker run -d -p 8080:8080 --name tomcat01 tomcat

7.4 测试访问
curl localhost:8080

7.5 进入容器
docker ps #查看当前运行容器
~ docker exec -it 1bacf343cd06/bin/bash #进入容器

8.docker部署es+kibana
8.1下载启动elasticsearch(docker一步搞定)
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

如果需要重新启动 可以删除后再启动
docker ps -a

docker rm 4dc703d1130b

8.2测试es是否启动成功
curl localhost:9200

8.3查看doker容器使用内存情况
doker stats

8.4关闭 添加内存的限制 修改配置文件 -e 环境配置修改
8.4.1 docker ps -a
8.4.2 docker rm -f c00920e31f2c

8.4.3 修改配置文件并启动
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

8.5 测试es测试es是否启动成功
curl localhost:9200

9.docker可视化
9.1打开可视化服务(portainer)
docker run -d -p 8080:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer


Docker基础:VMware虚拟机Centos7环境下docker安装及使用的更多相关文章
- Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】
<ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】
安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...
- 基础--Redis在Linux环境下的安装
1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...
- Centos7环境下Docker容器的安装与卸载
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...
- Hyperledger fablic 0.6 在centos7环境下的安装与部署
原文:http://blog.csdn.net/zhaoliang1131/article/details/54617274 Hyperledger Fabric超级账本 项目约定共同遵守的 基本原则 ...
- 基础--Redis在Windows环境下的安装
1. 安装Redis 1.1 下载安装包 https://github.com/ServiceStack/redis-windows#3-run-the-redis-serverexe-using-t ...
- centos7环境下在线安装mysql
卸载mariadb centos默认安装了mariadb,因此,在安装mysql之前,需要卸载系统中安装的mariadb. 查看系统中所有已安装的mariadb包.命令:rpm -qa | grep ...
- centos7环境下mysql安装
1.去官网下载合适的yum源安装包 https://dev.mysql.com/downloads/repo/yum/ 2.yum 本地安装 命令:yum localinstall mysql57-c ...
随机推荐
- sklearn中,数据集划分函数 StratifiedShuffleSplit.split() 使用踩坑
在SKLearn中,StratifiedShuffleSplit 类实现了对数据集进行洗牌.分割的功能.但在今晚的实际使用中,发现该类及其方法split()仅能够对二分类样本有效. 一个简单的例子如下 ...
- java命令的本质逻辑揭秘
前言 在日常编码中,有了ide的支持,我们已经很少直接在命令行中直接执行java XXX命令去启动一个项目了.然而我们有没有想过,一个简单的java命令背后究竟做了些什么事情?让我们看下下面几个简单的 ...
- vue 安装sass5.0版本遇到的问题
cnpm install node-sass@4.9.2 --save-dev cnpm install sass-loader@7.3.1 --save-dev cnpm install style ...
- Step By Step(Lua数据结构)
Step By Step(Lua数据结构) Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础.如数组.记录.线性表.队列和集合等,在Lua中都可以通过table来表示. ...
- 五、SVM推导过程
SVM 时间复杂度一般为O(N³) 最重要的是推导过程 NIPS(机器学习顶级会议) 如果给定一个训练集,我们的目标是给定一个边界(一条线),离他最近的训练集样本路越宽越好 下面的几张图反映了SVM的 ...
- SQL Server将同一列多条数据合并成一行
Sql server中,将同一字段多条数据用字符拼接为一个字符串方式. 原数据查询展示: 使用 STUFF 函数,将结果列拼接成一行.结果如下: STUFF: 1.作用 stuff(param1, s ...
- 微信内 H5 页面自定义分享
起源: 最近公司在做一个活动的h5页面,在微信内打开时需要进行微信授权,然后后端会重定向到这个页面并且携带了一些参数(openid等).问题是点击微信的原生分享时,会把携带的这些参数一起分享出去,等于 ...
- Spring Cloud系列(一):服务注册中心
一.Spring Cloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样 ...
- Java Object类中toString方法的重写
Object类中的tostring方法的: 当我们输出一个对象时,实际是输出的是这个类中的tostring方法,是一个地址值,而不是类中的属性. 1 一:子类没有重写Object类中的toStrinn ...
- Linux学习笔记:linux命令之目录处理命令
目录处理命令 ls 命令名称:ls 英文原意:list 执行权限:所有用户 功能:显示目录文件 语法:ls 选项[-ald] [文件或目录] -a:显示所有文件,包括隐藏文件 -l:详细信息显示 -d ...