Docker容器技术

一.安装docker

需要阿里的epel源,需要联网

[root@bogon ~]#yum -y install docker

[root@bogon ~]#systemctl start docker

[root@bogon ~]#systemctl enable docker

 

二.查看docker版本

[root@bogon ~]#docker version

查看docker详细信息

[root@bogon ~]#docker info

Debug Mode (client): false

Debug Mode (server): false

Registry: https://index.docker.io/v1/    连接的镜像

 

.查看网络仓库镜像文件

[root@bogon ~]# docker search -s 100 nginx

[root@bogon ~]# docker search dhcpd

[root@bogon ~]# docker search -s 100 httpd

 

四.因为本地没有Nginx镜像,需要去联网下载

[root@bogon ~]# docker pull docker.io/nginx

[root@bogon ~]# docker pull docker.io/networkboot/dhcpd

[root@bogon ~]# docker pull docker.io/httpd

 

五.查看下载后的镜像,(下载到了本地镜像里面)

[root@bogon ~]# docker images

REPOSITORY       TAG        IMAGE ID      CREATED       SIZE

docker.io/nginx    latest       53f3fd8007f7   About an hour ago   109 MB

docker.io/httpd    latest       b7cc370ac278  2 hours ago         132 MB

docker.io/networkboot/dhcpd   latest   52cbff801df2  7 weeks ago  105 MB

 

六.查看Nginx的详细信息(很少用)

[root@bogon ~]# docker inspect 53f3fd8007f7

 

七.修改镜像标签的名称

[root@bogon ~]# docker tag docker.io/nginx nginx:nginx

[root@bogon ~]# docker images

REPOSITORY      TAG     IMAGE ID     CREATED           SIZE

docker.io/nginx    latest  53f3fd8007f7   About an hour ago   109 MB

nginx            nginx  53f3fd8007f7   About an hour ago   109 MB

docker.io/httpd    latest      b7cc370ac278             2 hours ago           132 MB

docker.io/networkboot/dhcpd   latest  52cbff801df2   7 weeks ago   105 MB

 

七.删除镜像

[root@bogon ~]# docker rmi docker.io/nginx      rmi+名称

 

八,存出镜像(如果我们需要把镜像迁移到另一台机器可以把镜像保存到本地当中)

[root@bogon ~]# docker save -o nginx docker.io/nginx

[root@bogon ~]# docker save -o httpd docker.io/httpd

[root@bogon ~]# docker save -o dhcpd docker.io/networkboot/dhcpd

[root@bogon ~]# ls    root/下是刚才迁移的镜像

格式:save -o 重命名 镜像名称

 

八.1存出容器(如果我们需要把容器迁移到另一台机器可以把容器导出为文件)

[root@localhost ~]# docker export c8 > nginx1        export +容器ID> 重命名

[root@localhost ~]# ls -l nginx1

-rw-r--r--. 1 root root 1024 5月  12 16:36 nginx1

把这个文件导入另一台机器,并用import - 重命名:标签

[root@localhost ~]# cat nginx1 |docker import - nginx1:test

sha256:be2d90fc6627e0547dd326b8f4987fb20a96142b6326b4ffd0d46932540e608b

 

九,如果镜像删除 < 镜像导回

[root@bogon ~]# docker rmi docker.io/networkboot/dhcpd

[root@bogon ~]# docker load < dhcpd

 

十.创建一个容器 -it    i是交互t是获取一个终端)

[root@bogon ~]# docker create -it nginx:nginx /bin/bash

e35b5559242e584ed57dc53ee5630976d77002637ef2f70a55ee0b5c5aaa5178

[root@bogon ~]# docker ps -a

[root@bogon ~]# docker start e35

e35

[root@bogon ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

e35b5559242e        nginx:nginx         "/bin/bash"         7 minutes ago       Up 6 seconds        80/tcp              unruffled_williams

 

十一.进入容器

 

[root@bogon ~]# docker attach e35

root@e35b5559242e:/#

root@e35b5559242e:/#

root@e35b5559242e:/#

root@e35b5559242e:/#

root@e35b5559242e:/#

root@e35b5559242e:/# ls

bin  boot  dev etc  home  lib lib64  media  mnt  opt proc  root  run  sbin  srv  sys  tmp  usr  var

 

十二,删除容器

[root@bogon ~]# docker ps -a

[root@bogon ~]# docker rm e35b5559242e

e35b5559242e

十三.运行端口

[root@bogon ~]# docker run -it -p 8001:80 nginx:nginx /bin/bash

root@3021c9504acc:/# nginx

访问http://192.168.30.24:8001

Welcome to nginx

如果出现报错:

WARNING: IPv4 forwarding is disabled. Networking will not work.

解决办法:

# vim  /usr/lib/sysctl.d/00-system.conf1

添加如下代码:

net.ipv4.ip_forward=11

重启network服务

# systemctl restart network1

完成以后,删除错误的容器,再次创建新容器,就不再报错了。

 

十四.映射多个端口

[root@bogon ~]# docker run -itd -p 8002:80 nginx:nginx

f58cb03f73e50626e16d29a2d4b51679d3e27412ffeb3f4f00a554543de8cd15

[root@bogon ~]# docker run -itd -p 8003:80 nginx:nginx

dbfeea5a04c0dc49e0b6235791044b1c780f900c8484c06a2ff1a36e963fa854

 

十五.进入正在运行的容器

[root@bogon ~]# docker exec -it f58cb03f73e5 /bin/bash

root@f58cb03f73e5:/#

 

十六.删除容器所有

[root@bogon ~]# docker ps |awk 'NR>1{print $1}' |while read line

> do

> docker rm -f $line

> done

 

十六.进入容器并映射使用Nginx的镜像(使容器在后台运行不退出ctil+p+q

[root@bogon ~]# docker run -it -p 8001:80 -v /web:/usr/share/nginx/html nginx /bin/bash

root@b44f0259ac35:/# [root@bogon ~]#

[root@bogon ~]# docker ps

进入容器

Docker attach 容器ID

Docker exec -it 容器名称 bash

退出容器并不关闭容器

Ctrl + P + Q

posted @ 2019-05-29 15:03  #赵程#  阅读(132)  评论(0编辑  收藏  举报