Docker操作命令说明
一、安装docker 服务
- Docker 要求 CentOS 系统的内核版本高于 3.10 ,你的CentOS 版本是否支持 Docker
# 通过以下命令查看你当前的内核版本
uname -r
- 安装需要的软件包
# yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm
- 安装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镜像,以自己创建好的基础镜像为例。
# 每个镜像启动的操作命令都不相同,需要根据镜像去编写启动命令
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镜像为例
#获取某个镜像 例: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的镜像详解
# 查询运行镜像的详细配置信息 `<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
出现以下图片代表安装完成
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 问题记录
- 操作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即可
持续更新中…