Docker基本管理
文章目录
- Docker核心概念
- Docker镜像操作
- Docker容器操作
- Docker数据管理
Docker概述
Docker是什么?
- 是一种轻量级的“虚拟机”
- 在Linux容器里运行应用的开源工具
Docker的使用场景
Docker的核心概念及安装方式
Docker核心概念
- 镜像
- 容器
- 仓库
公有仓库:官方提供
私有仓库:私人搭建
CentOS安装Docker的两种方式
- 使用CURL获得Docker的安装脚本进行安装
- 使用YUM仓库来安装Docker
安装Docker及基本管理
主机 | 操作系统 | IP地址 | 主要软件 |
---|
服务器 | CentOS7 | 192.168.45.129 | Docker-19.003.0-ce |
需求描述
- 安装Docker
- 完成最基本的Docker操作管理(创建、启动、参数等)
- 完成Docker创建资源控制及数据卷管理
安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager
yum install -y docker-ce
systemctl stop firewalld.service
setenforce 0
systemctl start docker.service
systemctl enable docker.service
ps aux | grep docker
docker version

Docker镜像操作
docker search 关键字
docker search nginx
docker pull 仓库名称【:标签】
docker pull nginx
docker images
docker inspect 镜像ID
docker inspect 231d40e811cd
docker tag 名称[:标签] 新名称[:新标签]
docker tag nginx:latest nginx:web
docker rmi 仓库名称[:标签]
docker rmi 镜像ID
docker rmi nginx:web
docker save -o 存出镜像名 存出的镜像
docker save -o nginx nginx:latest
docker load
docker load < 存出文件名
docker push 仓库名称[:标签]
docker push abner/nginx:web

Docker容器操作
docker create -it nginx:latest /bin/bash
-i:让容器的标准输入保持打开
-t:让Docker分配一个伪终端
docker ps -a
-a 列出最近一次启动放入容器
docker start 容器ID

docker run [选项]镜像运行的程序,执行的命令
-d 在后台进行运行

docker exec p[选项]容器的ID/名称 /bin/bash
示例:docker exec -it 容器ID /bin/bash
exit 退出

docker stop 容器的ID/名称

docker run -d 容器名称 /bin/bash -c "while true;do echo hello;done"

docker export 容器的ID/名称ID > 文件名
cat 文件名 | docker import -生成的镜像名称:标签

docker rm [选项]容器的ID/名称
docker ps -a | awk '{print "docker rm "$1}' | bash

Docker的数据管理
数据管理操作
两种管理方式
- 数据卷:容器和数组之间的数据共享
- 数据卷容器:容器之间实现共享
数据卷
数据卷是一个提供容器使用的特殊目录
创建数据卷
docker run -d -v /data1 -v /data2
httpd:centos
示例:
docker run -v /var/www:/data1
docker run-d -v /var/www:/data1
httpd:centos
数据卷容器
数据卷容器就是一个普通的容器
挂载web容器中的数据卷到新的容器
docker run
docker run -it
资源控制
[root@localhost docker]
创建两个容器为c1和c2,若只有这两个容器,设置容器的权重,是的c1和c2的cpu资源占比为33.3%和66.7%
docker run -itd
docker run -itd
[root@localhost docker]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d28b1d73b0ed nginx:latest "nginx -g 'daemon of…" 6 seconds ago Up 5 seconds 80/tcp c2
de49e4d6b4f9 nginx:latest "nginx -g 'daemon of…" 17 seconds ago Up 16 seconds 80/tcp c1
35cb117c9cc7 nginx:latest "nginx -g 'daemon of…" 6 minutes ago Exited (0) 5 minutes ago dazzling_goldberg
2286b99c2c6d nginx:latest "/bin/bash" 7 minutes ago Up 7 minutes 80/tcp flamboyant_booth
[root@localhost docker]
[root@localhost docker]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83e56a65c604 nginx:latest "nginx -g 'daemon of…" About a minute ago Exited (0) 52 seconds ago c3
[root@localhost docker]
1a386d9c306baa36c02edda2df793ff673b46f4ace4e5ee5f72177d8cd4a3d42
[root@localhost docker]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a386d9c306b nginx:latest "nginx -g 'daemon of…" 4 seconds ago