docker基础命令

Docker基本管理

Docker是什么

Docker 是一个[开源]的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 [Linux]或[Windows] 机器上,也可以实现[虚拟化]。容器是完全使用[沙箱]机制,相互之间不会有任何接口。

在这里插入图片描述

  • 是一种轻量级别的“虚拟机
  • 在linux容器里运行应用的开源工具

Docker与虚拟机的区别

  • Docker比虚拟机运行快只需要几毫米
  • Docker占用资源少,虚拟机占用资源多
  • 安全方面Docker共享内核,不安全,虚拟机是逻辑隔离,安全
  • 服务上面Docker一个容器一个服务,虚拟机一个容器多个服务

Docker的使用场景

  • 打包应用程序简化部署
  • 可脱离底层硬件任意迁移
  • 列:服务从腾讯云迁移到阿里云

Docker的核心概念及安装方式

Docker核心概念
●镜像
一个面向Docker容器引擎的只读模板
●容器
◆从镜像创建的运行实例
●仓库(公有,私有)
集中保存镜像的地方
CentOS安装Docker的两种方式
●使用CURL获得Docker的安装脚本进行安装
●使用YUM仓库来安装Docker

安装Docker

安装最新版本Docker依赖版本环境

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo i
https://download.docker.com/linux/centos/docker-ce.repo

安装Docker 并设置为开机自动启动

yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker

检查Docker版本查看Docker服务

docker version

检查Docker版本查看Docker服务
docker version

docker镜像操作

搜索镜像

docker search关键字

获取镜像

docker pull仓库名称[:标签]

查看镜像

docker images仓库名称[:标签]
docker inspect 镜像ID号

添加新标签

docker tag 名称[:标签]新名称[:新标签]

删除镜像

docker rmi仓库名称[:标签]
或
docker rmi镜像ID号

批量删除容器指令

vim none.sh
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1}'|xargs docker rm
docker images|grep none|awk '{print $3}'|xargs docker rmi

存出镜像

docker save -o存出文件名存出的镜像

载入镜像

docker load --input存出文件名
或
docker load<存出文件名

上传镜像

docker push仓库名称[:标签]

Docker容器

1:创建容器

docker create[选项]镜像运行的程序

-i让容器的标准输入保持打开

-t让Docker分配一个伪终端

2:查看容器运行状态

docker ps[选项]

-a列出所有的容器,包括未运行的容器

Docker容器操作
启动容器

docker start容器的ID/名称

创建容器并启动执行shell命令

docker run[选项]镜像运行的程序执行的命令

-d在后台进行运行
终止容器

docker stop容器的ID/名称

了解云服务基本概要图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1tCtJFg9-1600485468730)(../AppData/Roaming/Typora/typora-user-images/image-20200919101932869.png)]

部署docker容器

安装依赖包

 yum install -y yum-untils device-mapper-persistent-data lvm2
  • yum-utils提供了yum-config-manager
  • device mapper存储驱动程序需要device-mapper-persistent-data和lvm2
  • Device Mapper是Linux2.6内核中支持逻辑卷管理的通用设备映射机制,
  • 它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。

查看容器是否安装完成

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
docker-ce.repo

设置阿里云的镜像源

[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker-CE

[root@localhost yum.repos.d]# yum install docker-ce

开启docker

[root@localhost yum.repos.d]# systemctl start docker.service 
[root@localhost yum.repos.d]# systemctl enable docker.service 

查看状态

[root@localhost yum.repos.d]# systemctl enable docker.service
 Active: active (running)

安装镜像加速器(每个人都不一样)

打开阿里云搜索镜像加速
在这里插入图片描述

找到相关产品

在这里插入图片描述

在这里插入图片描述

找到镜像加速的代码复制使用

在这里插入图片描述

[root@localhost yum.repos.d]# cd /etc/docker/
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ctzniuyu.mirror.aliyuncs.com"]
}
EOF

开启加速系统

[root@localhost docker]# systemctl daemon-reload 
[root@localhost docker]# systemctl restart docker

网页优化

启动路由转发功能

[root@localhost docker]# vim /etc/sysctl.conf 
net.ipv4.ip_forward=1
[root@localhost docker]# sysctl -p
[root@localhost docker]# systemctl restart docker

安装完成

docker基础命令

查看docker信息

[root@localhost docker]# docker version 

在这里插入图片描述

搜索nginx镜像

[root@localhost docker]# docker search nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XUSsQley-1600485468749)(C:\Users\19437\AppData\Roaming\Typora\typora-user-images\image-20200918213340664.png)]

下载nginx镜像

[root@localhost docker]# docker pull nginx

查看镜像列表

[root@localhost docker]# docker images
REPOSITORY          TAG(标签)                 IMAGE ID(id号)          CREATED(创建时间)             SIZE(大小)
nginx               latest              7e4d58f0e5f3        7 days ago          133MB

查看内核

[root@localhost docker]# docker search busybox

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cowOJme6-1600485468751)(C:\Users\19437\AppData\Roaming\Typora\typora-user-images\image-20200918213838556.png)]

下载内核

[root@localhost docker]# docker pull busybox

下载文件存放位置

[root@localhost docker]# cat /var/lib/docker/image/overlay2/repositories.json 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MmSjTjS1-1600485468753)(C:\Users\19437\AppData\Roaming\Typora\typora-user-images\image-20200918214156154.png)]

查看镜像的详细信息

1:[root@localhost overlay2]# docker inspect nginx:latest  
或id号查看
2:[root@localhost overlay2]# docker inspect 7e4d58f0e5f3 

添加标签(属于创建硬链接)

root@localhost docker]# docker tag nginx:latest nginx:web

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CCX28Gj9-1600485468754)(C:\Users\19437\AppData\Roaming\Typora\typora-user-images\image-20200918221625527.png)]

过滤查看

[root@localhost overlay2]# docker images | grep nginx

删除镜像

[root@localhost overlay2]# docker rmi nginx:web 

删除容器

[root@localhost overlay2]# docker rm 

如果docker创建别名,需要先删除别名在删除docer才可以,
不可以直接删除docker,不然会报错

删除nginx镜像

[root@localhost overlay2]# docker rmi nginx:latest 

将指定镜像保存成 tar 归档文件

[root@localhost overlay2]# docker save -o /opt/nginx nginx:latest

恢复镜像

[root@localhost overlay2]# docker load < /opt/nginx 

上传镜像

docker login
Username: 
Password: 

容器的操作

容器列表

[root@localhost overlay2]# docker ps -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MB
busybox             latest              6858809bf669        9 days ago          1.23MB

Created Up 查看是否创建状态

创建容器

[root@localhost overlay2]# docker create -it nginx:latest /bin/bash

开启容器

[root@localhost overlay2]# docker start 186edb9c7b27

下载centos7

[root@localhost overlay2]# docker pull centos:7  下载
[root@localhost overlay2]# docker create -it centos:7   /bin/bash         创建容器
[root@localhost overlay2]# docker start 0409ee65f898    开启服务

[root@localhost overlay2]# docker stop 0409ee65f898 
 Exited               这个状态(退出)
[root@localhost overlay2]# docker rm 0409ee65f898   删除容器

启动执行命令查看centos7系统根目录

[root@localhost opt]#  docker run centos:7 /bin/bash -c ls /
anaconda-post.log
bin
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var

持续在后台输出执行

[[A[root@localhost ~]# docker run -d centos:7 /bin/bash -c "while true;do echo hello;done"

容器进入(一定要up状态才可以进入

[root@localhost ~]# docker exec -it ff13f6f6a68b /bin/bash
[root@eee80b4c94a5 /]# 

安装服务软件包

[root@eee80b4c94a5 /]# yum list

容器做服务

[root@eee80b4c94a5 /]# yum -y install httpd   安装一个服务
[root@ff13f6f6a68b /]# yum -y install openssh
[root@ff13f6f6a68b ]# systemctl start sshd   开启服务
[root@ff13f6f6a68b /]# exit  退出

容器导出

[root@localhost ~]# docker export ff13f6f6a68b  > /opt/nginx_c

容器导入(因为之前导出的是镜像文件,所以要先创建容器,才能导入镜像!!!)

cat /opt/centos_c | docker import - centos_c

删除容器

[root@localhost ~]# docker  rmi ff13f6f6a68b

批量删除

[root@localhost ~]# docker ps -a | awk '{print "docker rm" $1}' | bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值