docker的常用命令

一、安装docker

  1. yum包更新到最新
yum update
  1. 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 设置yum安装源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装docker,出现界面都按y
yum install -y docker-ce

二、docker服务的相关命令

  1. 启动docker服务
systemctl start docker
  1. 查看docker服务状态
systemctl status docker
  1. 停止docker服务
systemctl stop docker
  1. 重启docker
systemctl restart docker
  1. 设置docker开机自启动
systemctl enable docker

三、docker镜像相关命令

  1. 查看已有镜像文件
docker images
  1. 拉取镜像文件(以下载redis为例)
docker pull redis #默认下载latest版本的
docker pull redis:5.0	#指定下载5.0版本
  1. 删除镜像
docker rmi redis:latest	#通过版本号删除镜像
docker rmi c5da061a611a	#通过image id删除镜像
#删除所有镜像(组合命令),其中docker images -q是查询所有镜像id
docker rmi `docker images -q`
#强制删除所有镜像,包括相同ID、标签的镜像
docker rmi -f $(docker images -qa)
#根据关键字批量删除镜像和编译错误镜像
docker rmi $(docker images | grep "dev" | awk '{print $3}')

四、容器相关命令

容器是通过镜像创建的;

  1. 通过镜像创建并运行容器
#1. -i代表容器一直运行,-t代表给容器一个终端,--name=c1表示给容器取别名.
docker run -i -t --name=c1 redis:5.0
#2. 创建后台运行的容器-d代表后台运行
docker run -i -d --name=c2 redis:5.0
  1. 进入在后台运行的容器(以redis为例)
docker exec -it c2 redis-cli
  1. 查看正在运行的容器
docker ps
  1. 查看现有的容器
dockers ps -a
  1. 停止运行容器
docker stop docker
  1. 重新启动容器
docker start c2
  1. 删除容器
docker rm c1	#删除容器c1
docker rm `docker ps -aq`	#组合命令删除所有容器
  1. 查看容器信息
docker inspect c2

五、容器是数据卷

5.1 什么是数据卷?

两个问题:

  1. docker容器删除后,容器中存储的数据还在吗?
  2. docker容器和外部机器可以直接交换文件吗?
  3. 容器间如何进行数据交互呢?

当宿主机中的一个文件,被容器中的数据文件挂载(共享),此时该文件就叫做数据卷;通俗点说,就是文件的映射,一方改变另一方会立即跟着改变;一个数据卷可以被多个容器同时挂载。

5.2 配置数据卷

5.2.1 宿主机与容器间的数据卷配置

docker run ... -v 宿主机目录(文件):容器内目录(文件)

注意事项:

  1. 目录必须是绝对路径;
  2. 如果目录不存在,会自动创建;
  3. 可以挂载多个数据卷。

5.2.2 容器数据卷

当一个容器挂载一个数据卷后,其他容器挂载该容器内的数据目录,被叫做容器数据卷;
例如c3的/volume挂载宿主机的数据卷,c1、c2容器挂载c3的volume;

docker run -it --name=c3 -v /volume centos:7
docker run -it --name=c1 --volumes-from c3 centos:7
docker run -it --name=c2 --volumes-from c3 centos:7

六、应用部署全过程(以mysql为例)

6.1 查找mysql可用版本

docker官网搜索栏搜索mysql:
在这里插入图片描述
查看可用版本:
在这里插入图片描述

6.2 拉取mysql镜像

docker pull mysql:5.7	#拉取mysql5.7的镜像

6.3 创建存储mysql数据的目录

mkdir mysql	#创建目录
cd mysql	#进入目录

6.4 启动mysql容器

我们的目标是在宿柱机启动一个mysql服务,该服务在别的机器上能访问,但是容器内开启的端口智能被宿柱机访问,故需要做端口映射;将容器内的3306端口与宿主机的3307端口映射。

docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

七、docker Compose

7.1 服务编排是什么?

按照一定规则,批量的管理容器;

7.2 Docker Compose是什么?

Docker Compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建、启动、停止。使用步骤:

  1. 利用dockerfile定义运行环境镜像;
  2. 使用docker-compose.yml定义组成应用的各服务;
  3. 运行docker-compose up启动应用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值