Docker------基础命令

一、安装Docker

1.1 安装依赖包

iptables -F
setenforce 0
yum install -y yum-utils device-mapper-persistent-data lvm2 		#在线源安装

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

1.2 设置阿里云镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装Docker-CE

yum install -y docker-ce
vim /etc/selinux/config
SELINUX=disabled
[root@localhost etc]# cd /etc/docker
-bash: cd: /etc/docker: 没有那个文件或目录
[root@localhost etc]# systemctl start docker.service 
[root@localhost etc]# systemctl enable docker.service
[root@localhost etc]# cd /etc/docker/
[root@localhost docker]# ls
key.json
[root@localhost docker]# vim key.json 		#对接docker共有仓库的密钥
#key.json中的数据格式是以键值对key:value的json格式
{
    
    "crv":"P-256","d":"rQw9EAqWUorGAIz6Kp0MpXIjd2EE1L7ugpN7WYllEL4","kid":"2LIM:GQWG:XXHM:LW4K:CCYM:MAJJ:BAG7:Q2NP:RN7A:EBJX:FGVJ:YT46","kty":"EC","x":"cLZ5e0UHgJ63_00sqSP7G9xmG-EJC2tuqO-wVRoJTlY","y":"KlA8UesRJBWpzKvM7Cx1IMHzvJgGfj7vi9KAQ-r1UbA"}

[root@localhost docker]# ifconfig		#查看网卡多出一个docker0网卡
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:d3:aa:41:77  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.4 镜像加速

tee /etc/docker/daemon.json <<-'EOF'
{
    
    
  "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

1.5 网络优化

vim /etc/sysctl.conf
net.ipv4.ip_forward=1

sysctl -p
systemctl restart network
systemctl restart docker

二、查看docker版本信息

docker version				#查看docker版本信息
Client: Docker Engine - Community
 Version:           20.10.5			#docker版本
 API version:       1.41			#API版本
 Go version:        go1.13.15		#go语言版本,由go开发
 Git commit:        55c4c88			
 Built:             Tue Mar  2 20:33:55 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:32:17 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

三、查找指定镜像

docker search nginx				#查找指定镜像
docker search nginx				#查找指定镜像
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
#镜像名称						   描述											   星级(好评度)
nginx                              Official build of Nginx.                        14607     [OK]       
jwilder/nginx-proxy                Automated Nginx reverse proxy for docker con…   1988                 [OK]			#jwilder/nginx-proxy 仓库名/镜像名
richarvey/nginx-php-fpm            Container running Nginx + PHP-FPM capable of…   811                  [OK]
jc21/nginx-proxy-manager           Docker container for managing Nginx proxy ho…   163                  
linuxserver/nginx                  An Nginx container, brought to you by LinuxS…   142                  
tiangolo/nginx-rtmp                Docker image with Nginx using the nginx-rtmp…   119                  [OK]
jlesage/nginx-proxy-manager        Docker container for Nginx Proxy Manager        97                   [OK]
bitnami/nginx                      Bitnami nginx Docker Image                      95                   [OK]
alfg/nginx-rtmp                    NGINX, nginx-rtmp-module and FFmpeg from sou…   89                   [OK]
jasonrivers/nginx-rtmp             Docker images to host RTMP streams using NGI…   88                   [OK]
nginxdemos/hello                   NGINX webserver that serves a simple page co…   67                   [OK]
privatebin/nginx-fpm-alpine        PrivateBin running on an Nginx, php-fpm & Al…   50                   [OK]
nginx/nginx-ingress                NGINX Ingress Controller for Kubernetes         49                   
nginxinc/nginx-unprivileged        Unprivileged NGINX Dockerfiles                  32                   
schmunk42/nginx-redirect           A very simple container to redirect HTTP tra…   19                   [OK]
staticfloat/nginx-certbot          Opinionated setup for automatic TLS certs lo…   19                   [OK]
nginx/nginx-prometheus-exporter    NGINX Prometheus Exporter                       16                   
centos/nginx-112-centos7           Platform for running nginx 1.12 or building …   15                   
centos/nginx-18-centos7            Platform for running nginx 1.8 or building n…   13                   
raulr/nginx-wordpress              Nginx front-end for the official wordpress:f…   13                   [OK]
flashspys/nginx-static             Super Lightweight Nginx Image                   9                    [OK]
bitnami/nginx-ingress-controller   Bitnami Docker Image for NGINX Ingress Contr…   8                    [OK]
mailu/nginx                        Mailu nginx frontend                            8                    [OK]
ansibleplaybookbundle/nginx-apb    An APB to deploy NGINX                          2                    [OK]
wodby/nginx                        Generic nginx                                   1                    [OK]

四、查看镜像/下载镜像

docker images 仓库名称:标签				#查看下载镜像信息
docker inspect 镜像ID					#获取镜像信息
docker pull 仓库名称:标签					#获取/下载镜像 ,AUFS(联合文件系统)分层下载
#下载后存放在/var/lib/docker中
/var/lib/docker/image/overlay/repositories.json			#下载文件信息
[root@localhost docker]# docker images				#查看镜像
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@localhost docker]# docker pull nginx			#下载nginx镜像,分层下载(分布式)
Using default tag: latest
latest: Pulling from library/nginx
a076a628af6f: Pull complete 
0732ab25fa22: Pull complete 
d7f36f6fe38f: Pull complete 
f72584a26f32: Pull complete 
7125e4df9063: Pull complete 
Digest: sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@localhost docker]# docker images				#查看镜像,已经下载
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    f6d0b4767a6c   2 months ago   133MB

五、删除docker镜像

docker rmi 仓库名称:标签
docker rmi 镜像ID
docker rmi nginx				#以镜像名称删除
docker rmi f6d0b4767a6c			#以镜像ID删除

六、添加新标签

docker tag 名称:标签 新名称:新标签
[root@localhost docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    f6d0b4767a6c   2 months ago   133MB
[root@localhost docker]# docker tag nginx:latest nginx:test		#添加新标签
[root@localhost docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    f6d0b4767a6c   2 months ago   133MB
nginx        test      f6d0b4767a6c   2 months ago   133MB		#新标签镜像
#此时不能使用镜像ID删除镜像,可以通过标签删除任一镜像

七、镜像备份

cd /opt/			#存放在此目录中
docker save -o xyw_nginx nginx:latest			#镜像备份,文件名为xyw_nginx
docker load < xyw_nginx			#载入镜像
docker --input xyw_nginx		#载入镜像
[root@localhost docker]# docker images								#此时镜像存在
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    f6d0b4767a6c   2 months ago   133MB
nginx        test      f6d0b4767a6c   2 months ago   133MB
[root@localhost docker]# cd /opt/
[root@localhost opt]# docker save -o xyw_nginx nginx:latest			#镜像备份
[root@localhost opt]# ls
containerd  rh  xyw_nginx		
[root@localhost opt]# ll -h
总用量 131M
drwx--x--x. 4 root root   28 3月  22 14:45 containerd			
drwxr-xr-x. 2 root root    6 3月  26 2015 rh
-rw-------. 1 root root 131M 3月  22 15:56 xyw_nginx			#备份的镜像文件
[root@localhost opt]# docker rmi nginx:latest					#删除原有镜像
Untagged: nginx:latest
[root@localhost opt]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        test      f6d0b4767a6c   2 months ago   133MB
[root@localhost opt]# docker rmi f6d0b4767a6c					#继续删除
Untagged: nginx:test
Untagged: nginx@sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa
Deleted: sha256:f6d0b4767a6c466c178bf718f99bea0d3742b26679081e52dbf8e0c7c4c42d74
Deleted: sha256:4dfe71c4470c5920135f00af483556b09911b72547113512d36dc29bfc5f7445
Deleted: sha256:3c90a0917c79b758d74b7040f62d17a7680cd14077f734330b1994a2985283b8
Deleted: sha256:a1c538085c6f891424160d8db120ea093d4dda393e94cd4713e3fff3c82299b5
Deleted: sha256:a3ee2510dcf02c980d7aff635909612006fd1662084d6225e52e769b984abeb5
Deleted: sha256:cb42413394c4059335228c137fe884ff3ab8946a014014309676c25e3ac86864
[root@localhost opt]# docker images								#此时已没有镜像
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@localhost opt]# docker load < xyw_nginx 					#恢复镜像
cb42413394c4: Loading layer  72.51MB/72.51MB
1c91bf69a08b: Loading layer   64.6MB/64.6MB
56bc37de0858: Loading layer  3.072kB/3.072kB
3e5288f7a70f: Loading layer  4.096kB/4.096kB
85fcec7ef3ef: Loading layer  3.584kB/3.584kB
Loaded image: nginx:latest
[root@localhost opt]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    f6d0b4767a6c   2 months ago   133MB

上传镜像

登录

docker login
Username: docker
password:
Email:[email protected]

上传

docker push xyw/nginx:web

猜你喜欢

转载自blog.csdn.net/IvyXYW/article/details/115077294