安装

Yum安装配置docker

使用阿里仓库

## 下载阿里源repo文件
$ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
$ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo$ yum clean all && yum makecache
## yum安装
$ yum install docker-ce -y
## 查看源中可用版本
$ yum list docker-ce --showduplicates | sort -r
## 安装指定版本
##yum install -y docker-ce-18.09.9## 配置源加速
## https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
mkdir -p /etc/docker
vi /etc/docker/daemon.json
{"registry-mirrors" : ["https://8xpk5wnt.mirror.aliyuncs.com"]
}## 设置开机自启
systemctl enable docker
systemctl daemon-reload## 启动docker
systemctl start docker ## 查看docker信息
docker info## docker-client
which docker
## docker daemon
ps aux |grep docker
## containerd
ps aux|grep containerd
systemctl status containerd

中国科技大学的镜像加速器

# 安装docker步骤
rm -fr /etc/yum.repos.d/local.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 中国科技大学的镜像加速器
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y
systemctl start docker
systemctl enable docker
cat > /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
systemctl restart docker

核心要素及常用操作详解


三大核心要素:镜像(Image)、容器(Container)、仓库(Registry)

镜像(Image)

打包了业务代码及运行环境的包,是静态的文件,不能直接对外提供服务。

容器(Container)

镜像的运行时,可以对外提供服务。

仓库(Registry)

存放镜像的地方

  1. 公有仓库,Docker Hub,阿里,网易…
  2. 私有仓库,企业内部搭建
  3. Docker Registry,Docker官方提供的镜像仓库存储服务
  4. Harbor, 是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能
  5. 镜像访问地址形式 registry.devops.com/demo/hello:latest,若没有前面的url地址,则默认寻找Docker Hub中的镜像,若没有tag标签,则使用latest作为标签。 比如,docker pull nginx,会被解析成docker.io/library/nginx:latest
  6. 公有的仓库中,一般存在这么几类镜像
  7. 操作系统基础镜像(centos,ubuntu,suse,alpine)
  8. 中间件(nginx,redis,mysql,tomcat)
  9. 语言编译环境(python,java,golang)
  10. 业务镜像(django-demo…)
    容器和仓库不会直接交互,都是以镜像为载体来操作。

查看镜像列表

docker images

如何获取镜像

从远程仓库拉取
docker pull nginx:alpine
## 如果本地没有则会从远程拉取
docker run --name my-nginx-alpine -d nginx:alpine
本地构建
mkdkr /data/dockerfile/ubuntu_nginx -p
cd /data/dockerfileubuntu_nginxvim dockerfile
# 告诉docker使用哪个基础镜像作为模板,后续命令都以这个镜像为基础
FROM ubuntu# RUN命令会在上面指定的镜像里执行命令
RUN apt-get update && apt install -y nginx#告诉docker,启动容器时执行如下命令
CMD ["/usr/sbin/nginx", "-g","daemon off;"]
# 进行构建本地仓库
[root@docker /data/dockerfile/ubuntu_nginx]# docker build -t  my-nginx:ubuntu  .

导出镜像

[root@docker-test ~]# docker image save -o /opt/docker_alpine.tar.gz alpine:latest
[root@docker-test ~]# ll /opt/docker_alpine.tar.gz
-rw------- 1 root root 5854208 Oct  8 08:33 /opt/docker_alpine.tar.gz

导入镜像

[root@docker-test ~]# docker image load -i /opt/docker_alpine.tar.gz
50644c29ef5a: Loading layer  5.845MB/5.845MB
Loaded image: alpine:latest
[root@docker-test ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine              latest              a24bb4013296        4 months ago        5.57MB
centos              6.9                 2199b8eb8390        19 months ago       195MB

删除镜像

docker image  rmi alpine:latest
# 删除容器
docker rm -f `docker ps -a -q`

容器的基本操作

使用镜像启动容器

docker run -d -p 80:80 nginx:alpine
run 创建并启动一个容器
-d 放后台启动
-p 端口映射
-it 镜像
--name  给容器起个别名
/bin/bash 分配一个交互式的终端(进入容器)
例如:  docker run --name my-nginx-ubuntu -d my-nginx:ubuntu
例子: docker run -it centos:6.9 /bin/bash 必须是镜像

访问容器内服务

# 进入容器内部
$ docker exec -ti my-nginx-alpine /bin/sh
# ps aux|grep nginx
# curl localhost:80

宿主机中如何访问容器服务

docker run --name my-nginx-alpine -d -p 8080:80 nginx:alpine
curl 10.0.0.21:8080

停止或者删除容器

docker rm -f <id:name>## 停止运行中的容器$ docker stop nginx## 启动退出容器$ docker start nginx## 删除非运行中状态的容器$ docker rm nginx## 删除运行中的容器$ docker rm -f nginx## 实例
[root@docker /data/dockerfile/ubuntu_nginx]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
0f42f1fb0d02        my-nginx:ubuntu     "/usr/sbin/nginx -g …"   3 minutes ago       Up 3 minutes                            my-nginx-ubuntu
1dfd4a6033bf        nginx:alpine        "/docker-entrypoint.…"   About an hour ago   Up About an hour    80/tcp              my-nginx-alpine
[root@docker /data/dockerfile/ubuntu_nginx]# docker rm -f my-nginx-ubuntu
my-nginx-ubuntu
[root@docker /data/dockerfile/ubuntu_nginx]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
1dfd4a6033bf        nginx:alpine        "/docker-entrypoint.…"   About an hour ago   Up About an hour    80/tcp              my-nginx-alpine
[root@docker /data/dockerfile/ubuntu_nginx]# docker rm -f 1dfd4a6033bf

查看容器列表

docker ps
docker ps -a
docker ps -a -q # 只显示ID
docker ps -a   -l

docker命令图

走进docker的世界之基本使用相关推荐

  1. DEVOPS架构师 -- 01走进Docker的世界

    文章目录 第一天 走进Docker的世界 认识docker 为什么出现docker 什么是docker docker能做什么 版本管理 发展史 小结 安装 配置宿主机网卡转发 Yum安装配置docke ...

  2. 走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  3. 走进JavaWeb技术世界16:极简配置的SpringBoot

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  4. 走进JavaWeb技术世界14:Mybatis入门

    本文转自互联网,如有侵权必定删除. 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java ...

  5. Docker是世界上最牛逼的CaaS!

    Docker是世界领先的CaaS(Container-as-a-Service平台).Docker是目前集装箱生态系统中最主要的工具.容器是一种将软件与二进制文件以及使软件在共享操作系统时,独立运行所 ...

  6. 一起走进计算机视觉的世界

    计算机视觉简介 计算机视觉是一门研究如何使机器"看"的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别.跟踪和测量等,并进一步做图像处理,用计算机处理成为更适合人眼 ...

  7. 【密码学】一万字带您走进密码学的世界(下)

    引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 在<一万字带您走进密 ...

  8. 【密码学】一万字带您走进密码学的世界(上)

    引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 为了使读者对密码学有一个整 ...

  9. 带你走进rsync的世界

    导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...

最新文章

  1. python【蓝桥杯vip练习题库】ALGO-120 学做菜
  2. php页面栏目访问权限,PHPCMS 栏目和内容浏览权限的解决方法
  3. python找不到idleble_如何在python中使用pygatt从BLE设备获取通知?
  4. C程序中如何获取shell命令执行结果和返回值
  5. oracle函数 MIN([distinct|all]x)
  6. java并发AtomicReference
  7. 1小时搞懂设计模式之工厂模式(方法工厂)
  8. P6 EPPM 16.1 安装和配置指南 1
  9. 你不可不知的HTML优化技巧
  10. iphone在jsp显示时间会NAN解决办法
  11. sympy模块解指数方程
  12. QQ群导出群成员名单
  13. 阿里云服务器固定ip和弹性公网ip
  14. MySQL怎么打开explain_MySql性能加速分析以及PHPMYADMIN中explain用法
  15. 123茶楼,众筹...
  16. Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器
  17. android 里面的颜色的RGB
  18. 同余定理+前缀和解题技巧
  19. 电力继电器保护装置电磁兼容测试和环境试验
  20. 机器学习案例之Python中通过RF预测红酒质量

热门文章

  1. 驱动 -- 强制结束进程 -- 整理
  2. VIM 教程文档的学习
  3. 42 | MySQL Grant赋权限(这篇文章可能没啥你想要的)
  4. idea出现Error:Abnormal build process termination:
  5. 好用的办公软件可以提升工作效率,常用的都有哪些?
  6. 自适应屏幕DPI百分比,软件可根据系统设置的文本、应用等项目的大小自动放缩
  7. Flink cdc connectors RocketMQ
  8. window的画图工具(mspaint)也可以帮助我们开发和调试代码的.
  9. 单细胞论文记录(part14)--CoSTA: unsupervised convolutional neural network learning for ST analysis
  10. 青蛙上楼梯matlab,一个小青蛙,可以一次跳两节楼梯,也可以一次跳一节楼梯,请问他如果要跳101节楼梯,一共有几种跳法方案? - 菲波那切数列...