Docker基础教程

一、Docker简介
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
在这里插入图片描述
二、Centos7安装docker

  • 卸载旧的docker
 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  • 下载所需要的依赖包
 yum install -y yum-utils   device-mapper-persistent-data   lvm2
  • 设置仓库(两种仓库设置方式)
  1. 国内仓库设置方式(推荐,下载镜像速度快一些)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 国外仓库设置方式(下载镜像速度超慢)
 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装 Docker
  1. 默认安装最新版本的docker
 yum install docker-ce docker-ce-cli containerd.io -y 
  1. 安装指定版本的docker
列出并排序存储库中可用的版本
 yum list docker-ce --showduplicates | sort -r
安装指定版本
 yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io -y
  • 启动docker
 systemctl start docker

三、Docker镜像

  1. 列出本地主机上的镜像
 docker images

REPOSITORY:表示镜像的仓库源
TAG:镜像的标签、版本
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

  1. 镜像下载
 docker pull 镜像名称  eg:docker pull centos
  1. 镜像查找
 docker search 镜像名称 eg:docker search mysql

NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。

  1. 镜像操作命令
 docker run 镜像名称   #运行docker镜像 
 docker rmi 镜像名称  #删除docker镜像
  1. 构建镜像

    5.1创建Dockerfile文件 eg:

 FROM    centos:6.7
 MAINTAINER      xxx
 RUN     /bin/echo 'root:123456' |chpasswd
 EXPOSE  22
 EXPOSE  80
 CMD     /usr/sbin/sshd -D

FROM: 指定使用哪个镜像源
MAINTAINER: 维护者信息
RUN: 执行的命令
EXPOSE: 说明哪些端口被允许,但是没有启动,需要映射
CMD: 类似于RUN,是需要执行的命令,但RUN是docker build时执行,CMD是docker run时执行的命令

 docker build -t test/centos:6.9 .

-t : 指定要创建的镜像名称
. : Dockerfile所在的目录,也可指定绝对路径

四、Docker容器
Docker容器使用基础命令

  1. 运行应用程序
docker run -itd -P 镜像名称 --name 容器名称 容器描述 /bin/bash
docker run -itd -p 8080:80  镜像名称 容器描述 /bin/bash
docker run -tid -p 3000:3000/udp  镜像名称 容器描述 /bin/bash

参数说明:
-p: 指定映射到主机的端口,8080是本机的端口,80是容器的端口
-i: 允许交互式操作。
-t: 终端。
-d: 在后台运行
/bin/bash:命令,在容器中进行交互式shell
-P:将容器内部使用的网络端口随机映射到主机上。
–name:自己定义容器名称
默认的映射端口是TCP的端口,udp需要在后面添加

  1. 进入容器
 docker attach  -it 容器ID   #退出容器终端后容器停止运行
 docker exec -it 容器ID /bin/bash  #退出容器终端后容器不停止
  1. 导入导出容器
 docker export 容器ID >容器名称
  eg:docker export 容器ID >centos.tar
 cat 导出的容器名称 | docker import - 导入的容器名称
  eg: cat centos.tar | docker import - test/centos:v1
  1. 查看运行的容器
 docker ps    #查看所有运行的容器
 docker port 容器ID     #查看指定容器的某个确定端口映射到宿主机的端口号
  1. 删除容器
 docker rm -f 容器ID
 注意:删除容器时,容器必须是停止状态,否则会报错
  1. 启动、停止、重启容器
 docker start、stop、restart 容器ID
  1. 查看容器内部的标准输出。(日志)
 docker logs [ID或者名字] 
  1. 查看容器内部运行的进程
 docker top [ID或者名字]
  1. 容器之间通信
新建网络:
  docker network  create -d bridge test-net
测试连接:
  终端1创建容器test1
    docker run -tid --name test1 --network test-net centos /bin/bash
  终端2创建容器test2
    docker run -tid --name test2 --network test-net centos /bin/bash
  在容器test1中ping容器test2
    docker exec -ti test1  /bin/bash ping test2

Docker基础就学习完成了,下一篇介绍Docker安装各种服务!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值