Docker操作

操作

指令

启动docker

systemctl start docker

停止docker

systemctl stop docker

重启docker

systemctl restart docker

查看docker状态

systemctl status docker

开机启动

systemctl enable docker

查看docker概要信息

docker info

查看docker帮助文档

docker --help

1. Docker 常用命令

1.1. 帮助命令

操作

指令

查看Docker版本

docker version

查看docker概要信息

docker info

查看docker帮助文档

docker --help

1.2. 镜像命令

1.2.1. 搜索镜像

网站: https://hub.docker.com

如果需要在网络中查找需要的镜像,可以通过以下命令搜索

docker search 某个XXX镜像名字

例如:要下载centos镜像

docker search centos

DESCRIPTION:镜像描述

STARS:用户评价,反应一个镜像的受欢迎程度

OFFICIAL:是否官方

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

   

   

1.2.2. 拉取镜像

拉取镜像就是从中央仓库中下载镜像到本地,命令:

docker pull 镜像名字

例如,要下载centos7镜像:

docker pull centos:7

拉取的镜像列表

docker images

   

1.2.3. 查看镜像

命令:docker images

REPOSITORY:镜像名称

TAG:镜像标签

IMAGE ID:镜像id

CREATED:镜像的创建日期(不是获取该镜像的日期)

SIZE:镜像大小

OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层)

-q :只显示镜像ID。

--digests :显示镜像的摘要信息

--no-trunc :显示完整的镜像信息

   

1.2.4. 删除镜像

删除单个镜像

docker rmi -f 镜像ID

删除多个镜像

docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部

docker rmi -f $(docker images -qa)

   

1.3. 容器相关命令

1.3.1. 查看容器

有镜像才能创建容器,这是根本前提(下载一个CentOS镜像演示)

查看正在运行的容器

docker ps

查看所有容器

docker ps -a

查看最后一次运行的容器

docker ps -l

查看停止的容器

docker ps -f status=exited

   

1.3.2. 创建和启动容器

创建容器的命令

docker run

OPTIONS说明(常用):有些是一个减号,有些是两个减号

--name="容器新名字": 为容器指定一个名称;

-d: 在run后面加上参数-d,会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i-t两个参数,创建后会自动进入容器),并返回容器ID,也即启动守护式容器;

-i:以交互模式运行容器,通常与 -t 同时使用;

-t:表示容器启动后会进入其命令行,为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-p: 表示端口映射

有以下四种格式

ip:hostPort:containerPort

ip::containerPort

hostPort:containerPort

containerPort

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

   

  • 启动交互式容器(创建容器的同时进入到容器命令行中, 一旦退出容器,则容器停止)

docker run -it --name=centos 镜像名称:标签 /bin/bash

例如docker run -it --name=centos 镜像id /bin/bash

退出当前容器

exit

交互式容器停止后是可以继续启动的,这时候再次启动则变成了守护石容器

   

  • 启动守护式容器

创建守护式容器

docker run -di --name=容器名称 镜像名称:标签

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

进入容器内部

docker exec -it 容器id /bin/bash

退出命令行exit

   

1.3.3. 容器的停止和启动

停止容器

docker stop 容器名称(或者容器id)

docker stop mycentos2

启动容器

docker start 容器名称(或者容器id)

docker start mycentos2

docker run 和 docker start 的区别

docker run相当于执行了两步操作:将镜像放入容器中(docker create,然后将容器启动,使之变成运行时容器(docker start)。

docker start的作用是,重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps找到这个容器的信息。

重启容器

docker restart 容器名称(或者容器id)

docker restart mycentos2

强制停止容器

docker kill 容器名称(或者容器id)

docker kill mycentos2

   

1.3.4. 文件的拷贝

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

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

docker cp /tmp/anaconda.log mycentos2:/tmp

docker exec -it mycentos2 /bin/bash

  • 也可以将文件从容器内拷贝出来(都是在容器外操作)

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

docker cp mycentos2:/tmp /export/

   

简单方法___挂载目录

   

1.3.5. 目录挂载

必须在创建容器的时候挂载 ,实现了宿主机的目录与容器目录文件的共享

使用该功能可以实现容器和宿主据数据的共享

宿主机目录:容器目录

docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest

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

这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加参数--privileged=true来解决

docker run -di --privileged=true -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest

   

1.3.6. 查看容器 ip地址

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

docker inspect 容器名称(容器id)

docker inspect mycentos3

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

docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器id)

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

   

1.3.7. 删除容器

容器不再使用可以直接删除掉

删除指定的容器:

docker rm 容器名称(容器ID)

docker stop mycentos3

docker rm mycentos3

   

2. 安装 mysql

docker search mysql

从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

docker pull centos/mysql-57-centos7

创建守护容器

docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7

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

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

 

3. Docker 的迁移与备份

容器保存为镜像

docker commit 容器名称 镜像名称

docker commit mynginx mynginx_image

基于新创建的镜像创建容器

docker run -di --name=mynginx2 -p 81:80 mynginx_image

镜像备份

可以通过以下命令将镜像保存为tar文件(保存到当前目录)

docker save -o mynginx.tar mynginx_image

-o:表示output,输出的意思

scp -r mysql.tar node2:/expore

   

使用此命令进行恢复镜像

docker load -i mynginx.tar

-i:表示输入的文件,执行后再次查看镜像,可以看到镜像已经恢复

[docker使用]

posted @ 2022-03-02 12:42  deepJL  阅读(33)  评论(0编辑  收藏  举报