Docker使用

Docker操作命令说明

一、安装docker 服务

  1. Docker 要求 CentOS 系统的内核版本高于 3.10 ,你的CentOS 版本是否支持 Docker
# 通过以下命令查看你当前的内核版本
uname -r 
  1. 安装需要的软件包
# yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm
  1. 安装docker
# 安装docker 服务
yum install docker-ce

二、 Docker 服务基础操作

1、操作Docker服务

# 禁止docker服务为开机自启动服务
systemctl disable docker.service
# 设置docker服务为开启自启动服务
systemctl enable docker.service
# 启动docker服务
systemctl start docker.service
# 停止docker服务
systemctl stop docker.service
# 重启docker
systemctl start docker.service
# 查询docker服务状态
systemctl status docker.service

在这里插入图片描述

2、操作Docker镜像

# 查询有哪些docker镜像
docker images 
# 查询正在运行的docker镜像
docker ps
#启动的docker容器  例如:  docker start 4da7b0b32cae
docker start  `<CONTAINER ID>`  
#启动docker容器    例如:	docker start mysql
docker start  `<NAMES>`  
# 停止正在运行的docker镜像,如下图所示 例如:  docker stop 4da7b0b32cae
docker stop `<CONTAINER ID>`
# 停止正在运行的docker镜像,如下图所示 例如:  docker stop mysql
docker stop `<NAMES>`

可选择一下内容CONTAINER ID
docker ps 命令

# 运行docker镜像,以自己创建好的基础镜像为例。
# 每个镜像启动的操作命令都不相同,需要根据镜像去编写启动命令
docker run -tid  --name library-jdk  127.0.0.1/library/dongma-jdk:jdk-1.8
# 登录镜像内部,操作服务详细信息  `<CONTAINER ID>` 和 `<NAMES>`都可以哦。
# 例如:
#     `<CONTAINER ID>`: docker exec -it 4da7b0b32cae /bin/bash
#	  `<NAMES>`       : docker exec -it mysql /bin/bash
docker exec -it `<NAMES>` /bin/bash
# 拷贝镜像内文件放到宿主机当前目录下
docker cp `<NAMES>`:/opt/app/xxx .
# 拷贝宿主机文件到镜像内
docker cp xxx  `<NAMES>`:/opt/app/xxx
#查询需要什么docker容器,可以通过命令查询相关镜像,例如: docker search mysql
docker srarch *

以查询Mysql镜像为例
dockerh查询镜像

#获取某个镜像  例:docker pull mysql:latest. latest 代表下载的最新版本的Mysql
docker pull mysql:latest
#查询当前运行容器日志信息 例:docker logs -f -t --tail 120 mysql
docker logs -f -t --tail 120 `<NAMES>`
#清除doker中所有未引用到的镜像信息
docker image prune -a    #该命令不会强制执行
docker image prune -a -f #强制执行该命令
#docker 查询某个时间段的日志信息
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
#创建docker 启动网络
docker create network dongma
#查询每个docker运行所占用的内存情况,如下图所示
docker stats

出现下图代表查询当前运行Docker的镜像详解
docker stats

# 查询运行镜像的详细配置信息   `<CONTAINER ID>` 和 `<NAMES>`都可以哦。 
# 例如: docker inspect mysql
# 查询出来信息很多,就不展示了,执行一下命令可以发现运行镜像的详细配置信息
docker inspect `<NAMES>`
# 查询当前docker版本信息
docker version 
# 登录Docker的harbor服务, 例: docker login 127.0.0.1
docker login `<HOST NAME>`
# 将镜像推送至私服或Docker远程服务器中
# 例如:docker push 127.0.0.1/library/dongma-maven-aliyun:3-jdk-8 
# 推送说明: 
# 	1.1、127.0.0.1 IP地址或host名称是说明你要将服务推送到哪里的服务器上
#   1.2、library harbor服务器上的项目目录
#   1.3、dongma-maven-aliyun:3-jdk-8 docker镜像的名称加上tag号码
docker push `<IMAGE TAG>`

三、安装docker-compose服务

#安装依赖
yum install -y epel-release
#第一种方案,安装过程中若出现错误,选用第二种方案
yum install -y docker-compose
#第二种方案,通过远程命令下载docker-compose的包,稍后会使用这个进行启动镜像
curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#查看安装版本
docker-compose -version

出现以下图片代表安装完成
docker-compose

1、启动Docker镜像

以下情况,以安装使用Mysql 为例

# 首先创建 docker-compose.yaml 文件
vim  docker-compose.yaml
# 写入以下文件中内容
version: "3.3"
services:
  mysql:
    container_name: mysql
    image: mysql:latest
    logging:
      driver: json-file
      options:
        max-file: "10"
        max-size: "100m"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - /home/software/mysql/logs:/logs
      - /etc/localtime:/etc/localtime
    restart: always
    ports:
      - 3306:3306/tcp
 
networks:
  default:
    external:
      name: dong

# 创建完成后通过一下命令启动
docker-compose -f docker-compose.yaml up -d 

启动完成后,镜像如图所示
在这里插入图片描述
之后的博客会启动镜像完成后进行验证的操作,这里就不写了…

2、docker-compose操作镜像

#要保证当前目录下存在docker-componse.yaml文件,会将文件中所有镜像信息停止
docker-compose down  
#显示通过docker-compose启动完成的镜像
docker-compose ps
#重新启动容器 例:docker-compose restart mysql
docker-compose restart `<NAMES>`
#暂停容器,例: docker-compose pause mysql
docker-compose pause `<NAMES>`                 
#恢复容器,例: docker-compose unpause mysql
docker-compose unpause `<NAMES>`            
#删除容器(删除前必须关闭容器),例: docker-compose rm mysql
docker-compose rm `<NAMES>`                       
#停止nignx容器,例: docker-compose stop mysql
docker-compose stop `<NAMES>`                    
#启动已经运行的容器,例: docker-compose start mysql
docker-compose start `<NAMES>`
#查看日志  例: docker-compose logs mysql
docker-compose logs  `<NAMES>`                   
#查询实时日志 例: docker-compose logs -f mysql
docker-compose logs -f `<NAMES>`                                 

Docker 问题记录

  1. 操作docker pull 镜像的时候可能提示TLK timout ,可能是因为配置的docker 源访问不到,修改配置,获取国内的docker 源
# 打开docker 配置源读取的文件
vim /etc/docker/daemon.json
# 在文件中写入以下内容
{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://hub-mirror.c.163.com"
  ]
}
#重启docker即可

持续更新中…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值