docker基础学习一

Posted yangk1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker基础学习一相关的知识,希望对你有一定的参考价值。

一 docker是什么?

  docker是目前比较火的容器引擎,开发者可以打包应用以及依赖到可移植的容器中,然后发布到任何流行的Linux容器上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口。

二 安装docker

yum包更新到最新
sudo yum update

安装需要的软件包  yum-util提供yum-config-manager功能 ,另外两个是devicemappe驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data 1vm2

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

安装docker   ce是社区版
sudo yum install docker-ce

安装后查看docker版本
docker -v 

技术图片

三 设置docker为国内镜像

设置docker国内镜像,不然拉取一些镜像的速度会非常慢,使用的是国外站点,我刚开始使用的阿里镜像,但是启动docker一直无法启动,后面更换了镜像就可以了。

vi /etc/docker/daemon.json

将下面镜像之间复制进去,当然也可以选择其他国内镜像

{
"registry-mirrors":["https://registry.docker-cn.com"]
}

我在设置镜像的时候没有找到cocker文件夹,我是自己通过命令创建出来的

mkdir /etc/docker 

四 docker的一些常用命令

启动docker
systemctl start docker 

查看docker启动状态
systemctl status docker

停止docker
systemctl stop docker

重启docker
systemctl restart docker

设置开机自启
systemctl enable docker

技术图片
技术图片

五 docker镜像的一些常用命令

查看镜像
docker images

搜索镜像,搜索的是互联网里面的
docker search 镜像名称包含的字

拉取镜像
docker pull 镜像名称

删除镜像
docker rmi  镜像ID|镜像名称

删除全部镜像
docker rmi `docker images -q`

技术图片
技术图片

六 docker容器的一些命令

  • 创建查看容器
查看容器
docker ps

查看所有容器
docker ps -a

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

查看停止的容器
docker ps -f status=exited
查看容器日志
docker logs -f -t --since="2018-03-31" --tail=100 elastic_raman
–since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。 
-f : 表示查看实时日志 
-t : 查看日志产生的日期 
-tail=200 : 查看最后的200条日志。 
sleepy_snyder 容器的名称,并不是镜像的名字

技术图片

创建容器
docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行,加入这两个参数后,容器创建完成就会登陆进去,相当于一个伪终端
--name:为容器命名
-v:表示目录映射关系(前者是宿主机,后者是映射到宿主机的目录),可以使用多个-v做多个目录或者文件的映射。最好是最目录映射 ,在宿主机上做修改然后共享到容器上面
-d:在run后面加上-d参数。则会创建一个守护式容器在后台运行(这样不会自动登陆容器。如果过只加-i,-t两个参数会直接进入到容器里面)
-p:表示端口映射,前者是宿主机,后者是容器内的映射端口,也是可以多个-p做多个端口映射
  • 交互式方式创建容器
docker run -it --name=MyTest   镜像名称:镜像标签    /bin/MyTest
/bin/MyTest==就是交互式方式运行之后,运行的命令(相当于加载镜像容器的命令行)

技术图片
技术图片

当前已经进入到容器里了。从新开一个窗口,就可以看到当前运行的容器了
技术图片

退出容器,容器也会关机
exit

  • 守护式方式创建容器
name名字是唯一的,即使之前的容器关机了,也不能出现重复名称
docker run -di --name=Mycentos1 centos:latest

技术图片

进入容器
docker exec -it Mycentos1 /bin/bash

技术图片

此时通过命令exit退出,但是容器并不会关机

  • 停止启动容器
停止容器
docker stop 容器名称|容器ID

启动容器
docker start 容器名称|容器ID

  • 文件拷贝,目录挂载
docker cp 需要拷贝的文件或者目录  容器名称:容器目录

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

技术图片
技术图片
技术图片

目录挂载 宿主机的/docker/MyTest与容器的/usr/local共享
docker run -di --name=MyCentos2 -v /docker/MyTest:/usr/local centos:latest

技术图片
技术图片

这里是中文,查看的时候出现乱码了

这个命令可以查看容器的很多东西,包括IP地址
docker inspect MyCentos2

直接查询所需要的信息,如IP地址
docker inspect --format=‘{{.NetworkSettings.IPAddress}}‘ MyCentos2

技术图片
技术图片

删除容器
docker rm 容器名称|容器ID

七 docker备份与迁移

容器保存为镜像
docker commit 容器名称 镜像名称

技术图片
技术图片

容器备份 将
docker save -o 导出文件名  镜像名称

导入镜像
docker load -i 备份的镜像文件名 

技术图片

以上是关于docker基础学习一的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习笔记

新一代流式数据湖平台 Apache Hudi学习笔记 - 基础知识&定义

新一代流式数据湖平台 Apache Hudi学习笔记 - 基础知识&定义

Docker 学习笔记 Docker 基础操作实,Docker仓库数据卷,网络基础学习

DOM探索之基础详解——学习笔记

Java 基础学习总结(200)—— GraalVM 为什么能被称为下一代虚拟机