docker容器快速入门

docker的安装(Centos7)

wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#查看可安装docker版本  
yum list docker-ce --showduplicates | sort -r
#安装
yum -y install docker-ce-20.10.0
#添加加速源   
 mkdir  -p  /etc/docker
    vi  /etc/docker/daemon.json
{"registry-mirrors": 
["https://5f2jam6c.mirror.aliyuncs.com", 
"http://hub-mirror.c.163.com"]
}
#重启docker 
systemctl restart docker
#开机自启
systemctl  enable docker

两个重要的概念:

1. docker与宿主机公用一套linux内核,不同的linux发行版。

2.docker镜像采用联合文件系统,写时复制,镜像分层,即每个镜像都在一个只读的基础镜像基础上添加属于自己的可写层。下载镜像时基础镜像下载一次,再下载其他镜像时只需要下载其可写层就够了,大大节约了空间。

基础命令:

docker镜像命令

#搜索镜像 可以选择下载不同的镜像版本
docker search nginx

#下载镜像
docker pull nginx

#查看本地镜像
ocker image ls   =  docker  images

#查看具体的某个镜像
docker  image   +镜像名

#删除本地镜像
docker rmi  +镜像ID


#镜像的导入与导出
docker  image  save  镜像ID      >   /opt/名字.tgz

docker   load -i         文件名

 docker容器命令

docker  run   镜像名/ID       
#如果镜像不存在本地,册会在线去下载该镜像
#注意:  如果用容器去跑一台centos或其他linux,容器内的进程必须处于前台运行状态,否则容器就会直接退出,如果容器内,什么事也没做,容器也会挂掉,容器内,必须有一个进程在前台运行。


#启动一个容器并执行某个命令,执行命令会卡住一个终端
docker  run     镜像名/ID   ping  www.baidu.com

docker run  -d   --rm  --name   自定义容器名     镜像ID/名字
# -d 后台启动  
#--rm  容器挂掉后,自动删除不保留记录  
#--name   自定义容器名
#-v  文件夹映射      -v  宿主机文件夹:容器内文件夹
#-p  端口映射        -p  宿主机端口:容器端口
#--network  指定虚拟网卡

#查看容器日志
docker log     容器ID/名字                            #查看全部
docker log -f    容器ID/名字                      #查看当前,实时刷新

#进如正在运行的容器,-it交互式
docker   exec     -it  容器ID/名字    /bin/bash

#查看容器的详细信息,用于高级调试
docker    inspect      容器ID/名字

#例如: 启动一个nginx容器,自定义容器名为nginx01  宿主机端口81映射到容器服务端口80  把宿主机本地文件夹/data映射到容器的/var/www/html文件夹

[root@node-1 data]# echo "hello word" > index.html
[root@node-1 data]# ls
index.html
[root@node-1 data]# docker run -d --name nginx01  -p 81:80 -v /data:/usr/share/nginx/html nginx
d3dfbe082751ac47c3f7811464c39775336b96f22a4f9a18373c739fa5491350
[root@node-1 data]# curl 127.0.0.1:81
hello word

#查看正在运行的容器
docker ps

#查看所有容器,包括历史运行和目前运行的
docker ps -a

#停止正在运行的容器
docker stop 容器名或者容器id

#批量停止所有容器
docker stop $(docker ps -a)

#删除容器
docker rm   容器名或者容器id

#查看容器/镜像的详细信息
docker inspect   容器id\镜像id   

docker的网络管理

docker提供了三种网络模式

  • bridge (常用的也是默认类型)  桥接模式   虚拟网络桥接在物理网卡上,通过物理网卡上网,会生成一个叫docker0的虚拟交换机可通过ip a查看。
  • host   仅主机模式,这种方式用于一组容器间的通信,没有连通外网的需
  • none  不提供网络

-------------------------------------------------------------------------------------------------------------------------------- 

 

#查看当前所有虚拟网卡
docker network ls

#创建虚拟网卡(默认为bridge)
docker network create my_network

[root@node-1 data]# docker network create my_network
4162e5b0794707b3dc4c7b80fc34f22a5410d890afb1ce3836cf6d70575f099c
[root@node-1 data]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
122a9b10d524        bridge              bridge              local
ef640a3a47b5        host                host                local
4162e5b07947        my_network          bridge              local
ded06855d663        none                null                local
[root@node-1 data]# 

#删除虚拟网卡,删除前必须删除此网卡上的容器
docker network rm 虚拟网卡名或者虚拟网卡ID

#查看网卡的详细信息: 虚拟网卡内连了多少容器,或者容器的网段 
docker inspect  网卡id或者网卡名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值