docker使用

一、Docker 安装卸载与启停

1、查看当前系统的内核版本

查看当前系统的内核版本是否高于 3.10

uname -r

2、安装Docker服务

使用镜像仓库进行安装,采用 yum 命令在线安装(即电脑需要联网)

root 用户运行以下命令:

  • 卸载旧版本:(如果安装过旧版本的话)

Docker 的早期版本称为 docker 或 docker-engine 。如果安装了这些版本,请卸载它们及关联的依赖资源。

yum remove docker docker-common docker-selinux docker-engine
  • 安装所需的软件包

yum-utils 提供了 yum-confifig-manager 实用程序,并且 devicemapper 存储驱动需要 device-mapper

persistent-data 和 lvm2 。

yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置Docker的镜像仓库
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装最新版本的 Docker CE
yum install docker-ce

如果上面安装不成功,按照第3步卸载继续安装。

3、卸载Docker服务

  • 卸载 Docker 软件包
yum remove docker-ce
  • 删除镜像/容器等
rm -rf /var/lib/docker

4、启动与停止Docker服务

上面安装只是安装好, 但是没有启动Docker服务 。
systemctl 命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。

  • 启动docker:
systemctl start docker
  • 停止docker:
systemctl stop docker
  • 重启docker:
systemctl restart docker
  • 查看docker状态:
systemctl status docker
  • 开机自动启动docker:
systemctl enable docker
  • 查看docker版本
docker --version

在这里插入图片描述

  • 帮助命令
 docker --help

二、docker镜像操作

2.1、配置国内镜像加速器

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://w57n2hu2.mirror.aliyuncs.com"]
}

一定要重启docker服务,如果重启docker后无法加速,可以重新启动CentOS

重新加载该配置文件

systemctl daemon-reload

重启docker

systemctl restart docker

2.2、查看docker已安装的所有镜像

docker images
  • 显示镜像ID
docker images -q
  • 镜像保存位置在宿主机的/var/lib/docker 目录下

在这里插入图片描述

2.3、搜索镜像

docker search [OPTIONS] 镜像名称

例如:

docker search centos

在这里插入图片描述

  1. NAME:仓库名称
  2. DESCRIPTION:镜像描述
  3. STARS:关注度,反应一个镜像的受欢迎程度
  4. OFFICIAL:是否官方
  5. AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
  • -s 列出关注数大于指定值的镜像
docker search -s 100 mysql

在这里插入图片描述

  • –no-trunc 显示完整的镜像描述DESCRIPTION
docker search --no-trunc centos

在这里插入图片描述

2.4、拉取镜像

docker pull 镜像名:标签名

或者

docker pull 镜像ID

2.5、删除单个镜像

docker rmi 镜像ID

2.6、删除所有镜像

docker rmi `docker images -q`

docker images -q获取所有镜像的id

三、docker容器的操作

3.1、查看容器

  • 查看正在运行的容器
docker ps
  • 查看所有容器
docker ps -a
  • 查看最后一次运行的容器
docker ps –l
  • 查看停止的容器
docker ps -f status=exited

3.2、创建启动容器

  • 创建容器
docker run [OPTIONS] 镜像名:标签名

或者

docker run [OPTIONS] 标签名

创建容器 [OPTIONS] 常用的参数说明:

-i 表示交互式运行容器(就是创建容器后,马上会启动容器,并进入容器 ),通常与 -t 同时使用 。

-t 启动后会进入其容器命令行, 通常与 -i 同时使用; 加入 -it 两个参数后,容器创建就能登录进去。即

分配一个伪终端。

–name 为创建的容器指定一个名称 。

-d 创建一个守护式容器在后台运行,并返回容器ID;

这样创建容器后不会自动登录容器,如果加 -i 参数,创建后就会运行容器。

-v 表示目录映射, 格式为: -p 宿主机目录:容器目录

注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

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

  • 创建交互式容器

创建容器后就启动该容器,并且登录容器,当推出exit时就关闭容器。

创建一个交互式容器并取名为 mycentos , ( /bin/bash 是linux中的命令解析器,会进入到容器里面命令行)

docker run -it --name=mycentos centos:7 /bin/bash
  • 推出容器

退出容器并停止容器。

exit

3.3、启动与停止容器

  • 启动单个容器
docker start 容器名称|容器id
  • 启动所有容器
docker start `docker ps -a -q`

docker ps -a -q 是查询所有运行过的容器ID

  • 停止正在运行的容器
docker stop 容器名称|容器id
  • 强制停止运行的容器,一般不使用
docker kill 容器名称|容器id
  • 停止所有在运行的容器
docker stop `docker ps -a -q`

3.4、创建守护式容器

如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器(后台运行的容器)。

  • 创建(-d)并运行(-i)守护式容器命令如下(容器名称不能重复):
docker run -id --name=容器名称 镜像id

3.5、登录容器

登录已经启动的容器方式

使用 docker exec -it 进入容器中打开命令行终端

exit 针对通过 docker exec 进入的容器,只退出但不停止容器

docker exec -it 容器名称|容器id /bin/bash

3.6、删除容器

docker rm 容器名称 | 容器ID

3.7、查看容器详细

docker inspect 容器ID

3.8、查看容器IP

docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器ID

3.9、容器中安装vim

Linux中每个docker是独立存在的,你需要给那个docker安装编辑器,需要进入指定的docker在安装。建议不要安装过多的东西,编辑器这些可以在将编辑文本复制到docker外边,编辑好或在复制进去也OK。

  • 更新一下软件包
apt-get update
  • 安装vim编辑器
apt-get install vim

3.10、宿主机与容器相互拷贝数据

  • 从宿主机复制到容器内
docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录
  • 从容器内复制到宿主机
docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录

3.11、数据目录挂载

数据目录挂载就是将宿主机的目录与容器中的目录进行映射,只需要修改宿主机的挂载目录就可以响应到宿主机中,使用 -v选项。

docker run -id -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名
  • 设置目录挂载只有只读权限
docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名

四、常见应用

4.1、MySQL部署

  • 拉取镜像
docker pull mysql:5.8
  • 创建MySQL容器
docker run -id --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

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

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

  • 进入MySQL并登录
docker exec -it mysql /bin/bash

4.2、redis部署

  • 拉取镜像
docker pull redis
  • 创建redis容器
docker run -id --name=redis -p 6379:6379 redis
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值