Docker容器基本使用
Dcoker
- Docker是一个开源的应用容器引擎,是一个轻量级别的容器技术
- Dcoker支持将软件编译成一个镜像;然后在镜像中对各种软件做好配置,再将镜像发布出去,供别人使用
- 运行中的镜像称为容器,容器的启动是非常快速的
核心概念
- docker主机(Host):安装了Docker程序的机器,Docker直接运行在系统的内核上
- docker客户端(Client):链接docker主机进行操作
- docker仓库(Registry):用来保存各种打包好的软件镜像
- docker镜像(Images):软件打包好的镜像;放在docker仓库中
- docker容器(Container):镜像启动后的一个实例称为一个容器;容器是独立运行的一个或者一组应用
操作Docker的步骤
- 根据安装Docker的操作系统和内核不同,具体的操作命令可以参考官网
- 安装Docker
yum install docker
- 查看Docker的版本
docker -v
- 查看Docker的状态
service docker status
- 启动Docker
service docker start
- 停止Dcoker
service docker stop
- 设置Docker开机自启动(最新版的命令,Docker CE开源版)
systemctl enable docker
Docker常用命令
镜像操作
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 eg:docker search redis | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
修改镜像源
新建/etc/docker/daemon.json文件,在其中新增如下的内容;新版本不存在这个文件,需要新建
vim /etc/docker/daemon.json# 内容:{
"registry-mirrors":["我们的镜像源地址"]
}
国内镜像源一般可以使用阿里和有道
容器操作(Tomcat)
- 查询镜像 docker search tomcat
下载镜像 docker pull tomcat 如果不指代版本,默认下载最新版,我们可以上网站httpps://hub.docker.com/网站查找版本号
根据镜像启动容器,不加TAG默认就是latest,如果没有下载就会先先下载再启动
docker run --name mytomcat -d tomcat:latest --name :给容器起一个名字 -d:后台启动,不加就是前台启动
- 查看运行中的容器
docker ps
- 停止运行中的容器
docker stop 容器的id# 或者docker stop 容器的名称,就是使用--name起的名字
- 查看所有的所有的容器
docker start 容器id/名字
- 启动容器
docker start 容器id/名字
- 删除一个容器
docker rm 容器id/名字
- 启动一个做了端口映射的tomcat
docker run -d -p 8888:8080 tomcat -d:后台运行 -P:将主机的端口映射到外部,从而可以调用 主机端口(8888):容器内部的端口(8080) 外界通过主机的8888端口就可以访问到tomcat,前提是8888端口访问
- 关闭防火墙
# 查看防火墙状态 service firewalld status# 关闭防火墙 service firewalld stop
- 查看容器日志
docker logs 容器id/名字
容器操作(Mysql)
注意事项(如果使用本地安装,如果安装在虚拟机或者是服务器上,host会变)
- host: 127.0.0.1 (可以换成IP地址,但是如果是本地,也不要选localhost)
- port: 3306
- user: root
- password: 123456
# 拉取镜像 docker pull mysql:5.7# 运行mysql容器docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7# --name mysql:容器的名字是mysql # MYSQL_ROOT_PASSWORD:指定以root为账号的密码是123456
- 连接容器内的mysql
docker exec -it mysql bash#当后台启动容器,如果想进入容器,使用如下命令 #docker attach #docker exec 推荐使用;因为此推出容器终端,不会导致容器的停止-i:交互式操作 -t:终端 mysql:名字为mysql的镜像 bash:放在镜像名字后面是命令;启动交互式shell,因此使用bash;也可以使用/bin/bash
- 直接使用端口映射更加方便
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28
参考链接
Docker容器基本使用相关推荐
- Docker容器的备份与恢复,Docker镜像的备份与恢复
1. 备份容器 首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表.要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命 ...
- docker 容器访问宿主机的解决方式
需求 基于本地docker的自研及使用需要,希望docker容器的服务能连接到宿主机提供的服务. 背景 网络上查阅了大量的资料,基本的解决办法是通过手动查阅IP的方式进行, 但docker宿主机的ip ...
- Spring cloud 微服务docker容器化最佳实践
Spring cloud 是当下最炙手可热的微服务套件,我们将介绍如何整合Docker容器达到高效快捷的构建发布 采用了dockerfile-maven-plugin插件发布镜像到远程docker主机 ...
- 进入Docker容器命令
进入Docker容器命令 docker执行命令: docker exec -it [容器ID或者容器名称] /bin/bash 如果出现下述问题: OCI runtime exec failed: e ...
- Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)
Docker 容器 简单来说,容器是镜像的一个运行实例.所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 如果认为虚拟机是模拟运行的一整套操作系统(包括内核.应用运行态环境和其他系 ...
- Docker学习(四)-----Docker容器常用命令
七.Docker容器 容器是Docker核心概念 简单的说,容器是独立运行的一个或一组应用,以及它们的运行环境 对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和运行 ...
- 客快物流大数据项目(十):Docker容器命令
目录 Docker容器命令 一.查看容器 二.创建与启动容器
- 一文看懂docker容器技术架构及其中的各个模块
概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块. 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 ...
- Docker容器化部署config-server无法直接访问
Docker容器化部署config-server无法直接访问 1. 本机ip启动方式: 2. Docker容器启动 1)问题 2)解决办法 - 本机启动 - 服务器启动俩种方式 3. dockerfi ...
- docker宿主机访问docker容器服务失败
2019独角兽企业重金招聘Python工程师标准>>> 原因: 因为docker的虚拟ip网段是172.17.*.*与局域网的ip网段172.17冲突了,所以有两种方式: 解决方法: ...
最新文章
- linux下快速添加Qt的MySQL驱动
- 2020-12-03 Python OpenCV: 图片的裁剪
- Mybatis怎么能看是否执行了sql语句
- 图解 CSS (8): 浮动、显示、隐藏
- Spring : spring的aware
- Android提升篇系列:Activity recreate(Activity 重新创建/自我恢复)机制(一)
- 你为什么用微信,不用 QQ ?
- python拥有丰富的第三方库_Python第三方库的安装方法
- 酒水茶饮行业的门店管理系统进销存软件怎么挑选?
- Jenkins配置-腾讯企业微信邮箱
- 网络/运维工程面试题汇总二
- ubuntu文件格式转换
- DirectShow SDK笔记【关于DirectShow(2)】
- 解决TypeError:Cannot read properties of undefined并深入解读TypeError错误类型
- hex文件格式学习记录
- python爬虫反爬-爬虫怎么测试反爬?
- 什么是 SEO 投资回报率,以及如何衡量它?
- ironpython使用numpy_将numpy加载到IronPython中
- 从零开始搭建ROS下无人机激光雷达SLAM——hector_slam建图入门——综述篇
- 概率论与数理统计复习一(伽马函数、正态分布、瑞利分布、线性相关、独立)
热门文章
- @autowired注解 抽象类_别再用ifelse了,用注解去代替他吧
- arcgis投影数据计算度分秒
- 【转】CANOPEN总线的相关问题点整理分享*****
- 【转】C#开发笔记之05-迭代器中的状态机(State Machine)到底是什么?
- 【转】Microsoft Graph 概述
- 人体轮廓_女性人体油画轮廓柔和生动,优美动人,你喜欢吗?
- java引入resource下的模板_Beetl自定义ResourceLoader,实现特殊的模板加载需求
- REVERSE-PRACTICE-BUUCTF-2
- 简易有WEB文件服务器,Python实现简易版的Web服务器(推荐).pdf
- 【Gym - 101196F】Removal Game (环形区间dp,环状,细节优化)