Docker容器基本使用

Dcoker

  • Docker是一个开源的应用容器引擎,是一个轻量级别的容器技术
  • Dcoker支持将软件编译成一个镜像;然后在镜像中对各种软件做好配置,再将镜像发布出去,供别人使用
  • 运行中的镜像称为容器,容器的启动是非常快速的

核心概念

  • docker主机(Host):安装了Docker程序的机器,Docker直接运行在系统的内核上
  • docker客户端(Client):链接docker主机进行操作
  • docker仓库(Registry):用来保存各种打包好的软件镜像
  • docker镜像(Images):软件打包好的镜像;放在docker仓库中
  • docker容器(Container):镜像启动后的一个实例称为一个容器;容器是独立运行的一个或者一组应用

操作Docker的步骤

  1. 根据安装Docker的操作系统和内核不同,具体的操作命令可以参考官网
  2. 安装Docker 
    yum install docker
  3. 查看Docker的版本
    docker -v
  4. 查看Docker的状态
    service docker status
  5. 启动Docker
    service docker start
  6.  停止Dcoker
    service docker stop
  7. 设置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)

  1. 查询镜像 docker search tomcat
  2. 下载镜像 docker pull tomcat 如果不指代版本,默认下载最新版,我们可以上网站httpps://hub.docker.com/网站查找版本号

  3. 根据镜像启动容器,不加TAG默认就是latest,如果没有下载就会先先下载再启动

    docker run --name mytomcat -d tomcat:latest
    --name :给容器起一个名字
    -d:后台启动,不加就是前台启动
    
  4. 查看运行中的容器
    docker ps
  5. 停止运行中的容器
    docker stop  容器的id# 或者docker stop  容器的名称,就是使用--name起的名字
  6. 查看所有的所有的容器
    docker start 容器id/名字
  7. 启动容器
    docker start 容器id/名字
  8. 删除一个容器
    docker rm 容器id/名字
  9. 启动一个做了端口映射的tomcat
     docker run -d -p 8888:8080 tomcat
    -d:后台运行
    -P:将主机的端口映射到外部,从而可以调用  主机端口(8888):容器内部的端口(8080)
    外界通过主机的8888端口就可以访问到tomcat,前提是8888端口访问
  10. 关闭防火墙
    # 查看防火墙状态
    service firewalld status# 关闭防火墙
    service firewalld stop
  11. 查看容器日志
    docker logs 容器id/名字

容器操作(Mysql)

注意事项(如果使用本地安装,如果安装在虚拟机或者是服务器上,host会变)

  • host: 127.0.0.1 (可以换成IP地址,但是如果是本地,也不要选localhost)
  • port: 3306
  • user: root
  • password: 123456 
  1. # 拉取镜像
    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
    
  2. 连接容器内的mysql
    docker exec -it mysql bash#当后台启动容器,如果想进入容器,使用如下命令
    #docker attach
    #docker exec 推荐使用;因为此推出容器终端,不会导致容器的停止-i:交互式操作
    -t:终端
    mysql:名字为mysql的镜像
    bash:放在镜像名字后面是命令;启动交互式shell,因此使用bash;也可以使用/bin/bash
  3. 直接使用端口映射更加方便
    docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28

参考链接

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么35岁的C++依然能主导编程世界

早在1979年,Bjarne Stroustrup设计了C编程语言,并且C很快成为了无处不在的通用系统编程语言。现在尽管有Java、Javascript、Python、Go,甚至是苹果的Swift和它竞争,但C依然处于主导编程世界的地位。 今天在Morgan Stanley的科技访…

SpringBoot整合JPA

添加依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId&…

为什么说选择正确的编程语言很重要,以及如何正确的选择

几个月前&#xff0c;一个同事问我&#xff0c;应该如何选择编程语言&#xff0c;或者有没有什么固定的选择模式&#xff0c;当时我便打算写点什么。上周在硅谷开会&#xff0c;这我是第一次跟“hack3rs”的创业狂以及技术狂们打交道。我学会了很多前所未闻的脏话&#xff0c;也…

细数开源历史上的十个重大事件

开放源码&#xff08;开源&#xff09;的精神在于使用者可以使用、复制、散布、研究和改进软件。这可以追溯到20世纪60年代&#xff0c;至今已有半个世纪了。虽然下面所列举的不都是专门的开源产品&#xff0c;但还是在开源发展的进程中有着巨大的影响。开放源码&#xff08;开…

科研必备学士搜索引擎推荐

综合性学术搜索引擎 中国知网万方数据百度学术谷歌学术谷歌学术镜像Web of ScienceEiVillage2EIsevier电子期刊SpringerSemanticScholar 图片文献检索方法 CNKI 期刊查询 DOAJSocolarOpenDOAROALIB开放存取图书馆 硕博论文搜索下载 上海交大镜像网站欧洲学位论文库 国外电子…

如何写一篇论文

文献综述的地位 体现了学术研究的继承性 文献综述的写作是由学术研究的继承性决定的&#xff0c;因为继承是创新的基础和前提。文献综述部分要澄清所研究问题“从哪里来&#xff0c;到哪里去” 。这部分主要是继承&#xff0c;是梳理前人的成果并找出其内在的逻辑关系和演进的规…

深度卷积神经网络CNNs的多GPU并行框架及其应用

摘要&#xff1a;本文是腾讯深度学习系列文章之一&#xff0c;主要聚焦于腾讯深度学习平台&#xff08;Tencent Deep Learning Platform&#xff09;中深度卷积神经网络Deep CNNs的多GPU模型并行和数据并行框架。 【编者按】深度卷积神经网络有着广泛的应用场景&#xff0c;本…

如果误删谷歌浏览器的书签,怎么恢复

如果是Mac用户&#xff0c;command和z一直恢复就可以 同理&#xff0c;windows用户&#xff0c;也可以使用撤销键&#xff0c;ctrlz即可

55分钟学会正则表达式

正则表达式是一种查找以及字符串替换操作。正则表达式在文本编辑器中广泛使用&#xff0c;比如正则表达式被用于&#xff1a; 检查文本中是否含有指定的特征词找出文中匹配特征词的位置从文本中提取信息&#xff0c;比如&#xff1a;字符串的子串修改文本 与文本编辑器相似&a…

线程安全和对应的核心概念

线程安全 线程安全的概念&#xff1a;当多个线程访问某一个类&#xff08;对象和方法&#xff09;时&#xff0c;这个类始终都能表现出正确的行为&#xff0c;那么这个类&#xff08;对象或者方法&#xff09;就是线程安全的synchronized&#xff1a;可以在任意对象及方法上加…

JDK Unsafe类的使用与CAS原子特性

JDK Unsafe类的使用与CAS原子特性 Java.util.concurrent.atomic包&#xff0c;其中包含了大量使用到Unsafe这个类Java不能直接访问操作系统的底层&#xff0c;而是通过本地方法来访问。 Unsafe类提供了硬件级别的原子操作&#xff0c;主要提供了以下功能 内存操作字段的定位和…

写软件不是造汽车

写软件和做其他事情是不一样的。当我们制造别的东西的时候——像汽车、玩具、椅子、画作、甚至包括数字产品如平面图片和3D模型——我们做出来的成品就是最终的结果。而开发软件则不是&#xff0c;我们做出来的产品永远不可能有最终的结果——我们需要向计算机解释如何根据任意…

线程池核心概述

线程池核心概述 Executors工厂类使用 Executors工厂类底层源码分析详解 ThreadPoolExecutor自定义线程池 ThreadPoolExecutor拒绝策略详解 计算机密集型与IO密集型详解 如何正确的使用线程池…

网站盈利的10种方式

如果你有自己的网站&#xff0c;而且已经有了不少的流量&#xff0c;你肯定会开始考虑如何通过这个网站来挣一些钱。 在这篇文章中&#xff0c;我会向大家介绍网站最常见的10种盈利方式。 1.按点击付费广告 在网站上展示一个按点击付费的广告横幅是最简单的盈利方式&#xff…

程序员如何创业?

摘要&#xff1a;工作机会减少&#xff0c;读大学也不是保障。大公司亦不再是构筑职业生涯的安全港湾。透过媒体的镜头&#xff0c;创业似乎成了沙漠中唯一的绿洲。然而关于创业&#xff0c;或许少有人给你建议&#xff0c;这里所列出的一些因素都是你可以考虑的。 如果你的年…

Redis数据的类型

Redis一共分为五种基本数据类型&#xff1a;String、Hash、List、Set、Zset. string 内部编码有三种&#xff0c;raw&#xff0c;embstr&#xff0c;int String 是二进制的。可以存储序列化对象&#xff0c;图片&#xff0c;字符串&#xff0c;数值等 set和get方法 &#x…

Redis高级命令与特性以及单点模式的介绍

高级命令 keys * 返回满足条件的所有key&#xff0c;可以模糊匹配exists 是否存在指定的keypersist 取消过期时间select 选择数据库 &#xff08;0-15&#xff0c;总共16个数据库&#xff09;move key index 将当前数据库的 key 移动到给定的数据库 db 当中randomkey 随机返回…

华为副总裁徐家骏离职:年薪千万工作感悟十二条

从普通的公司职员&#xff0c;到年薪千万的华为副总裁&#xff0c;再到离开华为转战百度&#xff0c;徐家骏的十年从业经历和经验可资借鉴&#xff0c;我们从中也可以一窥华为的运作过程。徐家骏是华为数据中心的头&#xff0c;技术超级牛人&#xff0c;一级部门总监&#xff0…

Redis持久化之RDB和AOF

Redis持久化之RDB和AOF Redis 有两种持久化方案&#xff0c;RDB &#xff08;Redis DataBase&#xff09;和 AOF &#xff08;Append Only File&#xff09;&#xff1b; RDB 详解 RDB 是 Redis 默认的持久化方案。在指定的时间间隔内&#xff0c;执行指定次数的写操作&#…

同为程序员 为什么我的工资最低

我看着工资单上每一个开发团队成员的薪水&#xff0c;慢慢地我不能保持淡定了。 而当我看到我的工资排名是倒数的时候——靠近最后一名——我不由得倒抽一口冷气。就像圣诞故事中的那个可爱的小男孩Ralphie &#xff0c;想买气枪却被忽悠会有危险一样&#xff0c;我也不断忽悠…