Docker入门

Docker入门

2019年03月31日 20:25:50 nrsc 阅读数:72 标签: docker入门镜像添加与删除容器添加删除备份与迁移更多

个人分类: Docker

 https://blog.csdn.net/nrsc272420199/article/details/88931026

1. centos7上docker的安装

  • 安装命令
yum install docker
  • 1

安装过程出现下图提示时,直接输入y
在这里插入图片描述

  • docker版本查看
docker -v
  • 1

2 .docker的启动与停止

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

3.拉取docker镜像

3.1 配置ustc镜像

由于国内拉取docker hub官方镜像很慢,所以可以像使用maven配置阿里私服一样配置ustc镜像作为我们拉取docker镜像的实际地址.

  • 编辑该文件:vi /etc/docker/daemon.json // 如果该文件不存在就手动创建;
  • 在该文件中输入如下内容:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
  • 1
  • 2
  • 3

即:
在这里插入图片描述

  • 重新启动docker: systemctl restart docker

3.2 拉取镜像 docker pull

比如:

  • 拉取centos7镜像的命令为: docker pull centos:7
  • 拉取mysql镜像的命令为: docker pull mysql
  • 拉取Nginx镜像的命令为: docker pull nginx
  • 拉取redeis镜像的命令为: docker pull redis

4.查看拉取的镜像

  • 列出当前宿主机所有的docker镜像: docker images

在这里插入图片描述
注意:以tomcat为例在一个仓库里可能有多个tomcat镜像,为了区分这些镜像每一个镜像都有一个tag,在我们拉取或这启动容器时可以指定tag来拉取或启动特定的镜像.
举例来说:

  • docker pull tomcat:7-jre7 -----> 拉取tomcat7,jre版本为jre7
  • docker pull tomcat:7-jre8 -----> 拉取tomcat7,jre版本为jre8

具体的tag版本可以在Docker Hub官网上查到.

5.删除本地镜像

  • 删除指定镜像 : docker rmi 镜像ID
  • 查看所有的镜像ID: docker images -q
  • 删除所有的镜像:
docker rmi `docker images -q`
  • 1

6.创建与启动容器

6.1 docker run常用参数

  • -d: 后台运行容器,并返回容器ID;
  • -i: 表示运行容器
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • -p:端口映射,格式为 宿主机端口:容器端口,可以使用多个-p做多个端口映射
  • –name:为创建的容器命名(注意name前面为两个"-")

6.2 先看看如何查看容器

  • 查看正在运行的容器: docker ps
  • 查看所有的容器(包含启动和停止的): docker ps -a
  • 查看最后一次运行的容器
  • docker ps -l
  • 查看停止的容器ID: docker ps -qf status=exited 或docker ps -aq

6.3 创建交互式容器—栗子如下:

创建交互式容器

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

在这里插入图片描述

docker ps  #可以查看到运行的容器
  • 1

在这里插入图片描述

exit    #退出容器
  • 1

在这里插入图片描述

6.4 创建守护式容器—栗子如下:

创建守护式容器

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

登录守护式容器
方式为:docker exec -it container_name (或者 container_id) /bin/bash(exit退出时,容器不会停止)

docker exec -it mycentos2 /bin/bash
  • 1

在这里插入图片描述

7.停止与启动容器

  • 停止正在运行的容器: docker stop 容器名称或者容器id
  • 启动已经停止的容器: docker start 容器名称或者容器id

8.守护式容器和交互式容器的区别

知道了容器的停止与启动,我们就可以说一说守护式容器和交互式容器的区别了,其实在我看来,两种方式只是先后顺序不同罢了.

  • 使用交互式容器的顺序:
    创建容器后就可以直接进入容器,修改需要改的配置文件---->exit退出容器---->利用docker start 容器名称或者容器id—>容器变成守护式容器
  • 使用守护式容器的顺序:
    创建容器后变成交互式容器—>docker exec -it 容器名称或者容器id /bin/bash进入容器---->修改需要改的配置文件---->exit 退出容器---->容器还是守护式容器

9.宿主机与容器之间的文件拷贝

  • 将文件由宿主机拷贝到容器
docker cp 需要拷贝的文件或目录 容器名称或容器ID:容器目录
  • 1
  • 将文件由容器拷贝到宿主机
docker cp 容器名称或容器ID:容器目录 需要拷贝的文件或目录
  • 1

经测试发现容器之间不能直接进行文件的拷贝
宿主机向容器中拷贝的栗子如下:
在这里插入图片描述

10.查看容器的ip地址

只查找容器的ip:

docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称或容器ID
  • 1

查看运行容器的各种数据包括ip

docker inspect 容器名称或容器ID
  • 1

11.删除容器

  • 删除指定的容器
docker rm 容器名或容器ID
  • 1
  • 删除所有容器
docker rm `docker ps -aq`
  • 1

12.容器的备份与迁移

  • 将容器保存为镜像
docker commit 容器名称或容器ID 新的镜像名称
docker commit mycentos nrsc-centos7
  • 1
  • 2

在这里插入图片描述

  • 镜像的备份,即将镜像弄成可以传递的文件,如tar文件
docker save -o 输出文件的文件名 要备份镜像的名字或ID
docker save -o nrsc-centos7.tar nrsc-centos7
  • 1
  • 2

-o表示输出文件
在这里插入图片描述

  • 将tar文件恢复恢复为镜像
docker load -i tar文件
docker load -i nrsc-centos7.tar
  • 1
  • 2

-i表示输入文件
在这里插入图片描述

苏州桥运行稳定、产品精良的探测产品选哪家?上海琼玖 · 顶新

Docker——入门实战

阅读数 6万+

I.Docker简介Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机。不过,Docker跟传统的虚拟化方式相比具有众多的优势。我也将Docker类比于Python虚拟环境,可以有效的...博文来自: 等一杯咖啡的博客

Docker概述、部署Docker 、 Docker镜像、Docker基本命令-