Docker 详解命令使用篇--初级--三分钟入门

在这里插入图片描述

1.dokcer简介

Docker消除了重复的,简单的配置任务,并再整个开发生命周期中用于快速,简单和应用程序开发–云桌面。
官网地址:docker.com

2.docker优点

使用docker可以实现开发人员的开发环境,测试人员的测试环境,运维人员的生产环境保持一致

3. docker 组成结构

在这里插入图片描述

名称说明
Docker 镜像 (Images)Docker 镜像是用于创建 Docker 容器的模板。镜像是基于联合文件系统的一种层式结构, 由一系列指令一步一步构建出来(只读不能修改)。
Docker 容器 (Container)容器是独立运行的一个或一组应用。镜像相当于类,容器相当于类的对象,相当于操作系统
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker API 与 Docker 的守护进程通信。
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker守护进程是Docker服务器端进程,负责支撑Docker 容器的运行以及镜像的管理。
Docker 仓库 DockerHub(Registry)Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub提供了庞大的镜像集合供使用。用户也可以将自己本地的镜像推送到Docker仓库供其他人下载。

4.Docker安装

# 1. yum 更新已有rpm包,升级linux内核(不做也可以)
yum update

# 2. 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# 3. 设置yum源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 4. 安装docker【docker-ce: 社区版,免费;docker-ee:企业版,收费】
yum install docker-ce -y

# 5. 安装后查看docker版本
docker -v

5.设置 Docker镜像源

创建并编辑文件/etc/docker/daemon.json

# 执行如下命令
mkdir /etc/docker
vim /etc/docker/daemon.json  
在文件中加入下面内容:

==注意:镜像源地址是可以修改的,如果下载某一个镜像的时候下载不了,那么就可以切换镜像源地址  https://blog.csdn.net/xixihahalelehehe/article/details/109404298 镜像源地址大全==

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
注意:以后一旦修改daemon.json配置文件,docker的服务必须要重启

systemctl restart docker 

6.Docker相关的命令操作

# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查看docker服务状态
systemctl status docker
# 设置开机启动docker服务
systemctl enable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help

在这里插入图片描述

7.Docker镜像常用的命令

# 使用如下命令:

# 查看所有镜像
docker images   

# 搜索所有镜像
docker search 镜像名称   

# 拉取镜像就是从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本 命令如下:
docker pull 镜像名称

# 拉取centos 7
docker pull centos:7

# 拉取centos 最后版本镜像
docker pull centos:latest

# 按照镜像id删除镜像,或者镜像名称:版本号
docker rmi 镜像ID|镜像的名称:版本号     

# 删除所有镜像(谨慎操作)
docker rmi `docker images -q`

8.Docker容器常用的命令

# 查看正在运行容器: 
   docker ps
   
# 查看所有容器:
  docker ps -a 
  
# 查看最后一次运行的容器: 
   docker ps –l
   
# 停止正在运行的容器: docker stop 容器名称|容器ID
docker stop mycentos2

# 启动已运行过的容器: docker start 容器名称|容器ID
docker start mycentos2

# 重启正在运行的容器: docker restart 容器名称|容器ID
docker restart mycentos2

# 在linux宿主机下查看 mycentos2 的ip
# docker inspect 容器名称(容器ID)

docker inspect mycentos2

docker rm mycentos2
# 或者
docker rm 2095a22bee70

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

8.1 创建与运行容器

参数说明:

-i: 表示运行容器

-t: 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端/bin/bash。

--name: 为创建的容器命名(名称必须唯一)-v: 表示目录映射关系(前者是宿主机目录,后者是容器的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-d: 在run后面加上-d参数, 则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,并指定终端,创建后就会自动进去容器)。

-p: 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射。

交互式

# 先拉取一个镜像;这一步不是每次启动容器都要做的,而是因为前面我们删除了镜像,
# 无镜像可用所以才再拉取一个
docker pull centos:7

# 创建并启动名称为 mycentos7 的交互式容器
# 容器名称 mycentos7
# 镜像名称:TAG (centos:7)  也可以使用镜像id (5e35e350aded)
# /bin/bash: 进入容器命令行
docker run -it --name=mycentos7 centos:7 /bin/bash

守护式容器

# 创建并启动守护式容器
# 容器名称: mycentos2
# 镜像名称:TAG (centos:7)  也可以使用镜像id (5e35e350aded)
docker run -di --name=mycentos2 centos:7  

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

9. 容器文件拷贝

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

# 创建一个文件abc.txt 
touch abc.txt

# 复制 abc.txt 到 mycentos2 的容器的 / 目录下 
# 格式: docker cp 源文件  容器名称:路径
docker cp abc.txt mycentos2:/

# 进入mycentos2容器 
docker exec -it mycentos2 /bin/bash 

# 查看容器 / 目录下文件
ll

将文件从容器内拷贝出来到linux宿主机使用命令:

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

# 进入容器后创建文件aaa.txt
touch aaa.txt

# 退出容器
exit

# 在Linux宿主机器执行复制;将容器mycentos2的/aaa.txt文件复制到 宿主机器的/root目录下
#格式: docker cp 容器名称:文件路径  linux系统的路径

docker cp mycentos2:/aaa.txt /root

10. 容器挂载

# 创建linux宿主机器要挂载的目录 
mkdir /usr/local/test 

# 创建并启动容器mycentos3
# 并挂载 linux中的/usr/local/test目录到容器的/usr/local/test
# 也就是在 linux中的/usr/local/test中操作相当于对容器相应目录操作 
docker run -di -v /usr/local/test:/usr/local/test --name=mycentos3 centos:7

# 在linux宿主机下创建文件 
touch /usr/local/test/bbb.txt

# 进入容器 
docker exec -it mycentos3 /bin/bash

在这里插入图片描述
注意: 如果你共享的是多级的目录,可能会出现权限不足的提示。 这是因为CentOS7中的安全模块selinux把权限禁掉了,需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值