Docker介绍,安装使用(本文废弃太老了)

2024-01-20 03:58

本文主要是介绍Docker介绍,安装使用(本文废弃太老了),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

容器:将软件打包成标准化单元,以用于开发、交付和部署

容器与虚拟机:容器虚拟化的是操作系统而不是硬件,容器之间是共享同一套操作系统资源的。虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。因此容器的隔离级别会稍低一些。

yum命令在线安装:yum install docker(该命令已经老了,只能拿到1.13版本)

不指定版本就会拿取最新版本

拿最新版本docker      yum -y docker-ce

查看docker版本:docker -v

启动与停止docker

systemctl命令是系统服务docker管理器指令,它是 service 和 chkconfig 两个命令组合。

  1. 启动dockersystemctl start docker
  2. 停止docker:systemctl stop docker
  3. 重启docker:systemctl restart docker
  4. 查看docker状态:systemctl status docker
  5. 开机启动:systemctl enable docker
  6. 查看docker概要信息:docker info
  7. 查看docker帮助文档:docker --help

docker镜像当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供磁盘镜像使用。Docker容器启动是需要的一些文件,而这些文件就可以称为Docker镜像。

列出docker下的所有镜像:docker images

  1. REPOSITORY:镜像所在的仓库名称
  2. TAG:镜像标签
  3. IMAGE ID:镜像ID
  4. CREATED:镜像的创建日期(不是获取该镜像的日期)
  5. SIZE:镜像大小
  6. 这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

       我们在运行同一个仓库中的不同镜像时,可以通过在仓库名后面加上一个冒号和标签名来指定该仓库中的某一具体的镜像,例如docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash,表明从镜像Ubuntu:12.04启动一个容器,而这个镜像的操作系统就是Ubuntu:12.04。在构建容器时指定仓库的标签也是一个好习惯。

收索镜像(网络中查找需要的镜像):docker search 镜像名称

  1. NAME:仓库名称
  2. DESCRIPTION:镜像描述
  3. STARS:用户评价,反应一个镜像的受欢迎程度
  4. OFFICIAL:是否官方

AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

删除镜像

  1. docker rmi $IMAGE_ID:删除指定镜像
  2. docker rmi `docker images -q`:删除所有镜像

Docker容器操作

docker ps                                                          查看正在运行容器

docker ps –a                                                     查看所有的容器(启动过的历史容器)

docker ps –l                                                      查看最后一次运行的容器

docker ps -f status=exited                                查看停止的容器

docker exec -it 775c7c9ee1e1 /bin/bash          进入某个docker,其中775c7c9ee1e1 为docker的id

复制Linux服务器上文件8cd8db034688这个docker:docker cp {113上路径} 8cd8db034688:docker内路径

创建与启动容器

  1. 创建容器常用的参数说明:
  2. 创建容器命令:docker run
  3. -i:表示运行容器
  4. -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
  5. --name :为创建的容器命名。
  6. -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
  7. -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
  8. -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

交互式容器

创建一个交互式容器并取名为mycentos:

docker run -it --name=mycentos centos:7 /bin/bash

这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态

使用exit命令 退出当前容器

守护容器(退出时容器不会停止)

创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):

docker run -di -name=mycentos6

1.登录守护式容器方式:

docker exec -it container_name (或者 container_id)  /bin/bash(exit退出时,容器不会停止)

2.停止与启动容器

停止正在运行的容器:

docker stop $CONTAINER_NAME/ID

启动已运行过的容器:

docker start $CONTAINER_NAME/ID

文件拷贝

如果我们需要将文件拷贝到容器内可以使用cp命令

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

也可以将文件从容器内拷贝出来

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

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

目录挂载(守护容器)

       我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

创建容器 添加-v参数 后边为   宿主机目录:容器目录

docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7

容名称:容器目录 需要拷贝的文

如果你共享的是多级的目录,可能会出现权限不足的提示。

这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数  --privileged=true  来解决挂载的目录没有权限的问题

件或

查看容器IP

我们可以通过以下命令查看容器运行的各种数据

docker inspect mycentos2

也可以直接执行下面的命令直接输出IP地址

docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos2

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

删除容器

删除指定的容器:docker rm $CONTAINER_ID/NAME

注意,只能删除停止的容器

删除所有容器:docker rm `docker ps -a -q`

部署应用

 MySQL部署

拉取MySQL镜像

docker pull mysql

查看镜像 

 创建MySQL容器

docker run -di --name pinyougou_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 代表端口映射,格式为  宿主机映射端口:容器运行端口

-e 代表添加环境变量  MYSQL_ROOT_PASSWORD是root用户的登陆密码

进入MySQL容器,登陆MySQL

进入mysql容器

docker exec -it pinyougou_mysql /bin/bash

登陆mysql:mysql -u root -p

远程登陆Mysql

(1)我们在我们本机的电脑上去连接虚拟机Centos中的Docker容器,这里192.168.247.130是虚拟机操作系统的IP

mysql -u root -p

mysql  -u root -p 

mysqlmysql -u root -p -u root -p 

 mmysql -u root -pysql -u root -p

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

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

n -di --name=mycentos2 centos:7n -di --name=mycentos2 centos:7ckdodocker run -di --name=mycentos2 centos:7

 docker run docker-di --name=mycentos2 centos:7

docker run -ddodocker run -di --name=mycentos2 centos:7cker run -di --name=mycentos2 centos:7i --name=mycentos2 centos:7

cker run -di --name=mycentos2 centos:7er rdocker run -di --name=mycentos2 centos:7un -di --name=mycentos2 centos:7

docker rudocker run -di --name=mycentos2 centos:7n -di --nametos2 centos:7

这篇关于Docker介绍,安装使用(本文废弃太老了)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/624722

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca