docker下载安装(官方)

  • 卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
  • 设置存储卡
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装docker社区版
sudo yum install docker-ce
  • 启动docker
systemctl start docker

docker下载安装(阿里云)

  • 确认阿里云yum文件
vim /etc/yum.repos.d/Centos-7.repo
  • 使用yum开始安装docker
yum install -y docker
  • 查看docker版本
rpm -qi docker
  • 启动docker
systemctl status docker

docker概念

  • 组成
docker三大基本概念

# 镜像		image

# 容器		container

# 仓库		repository
  • docker容器优势
# 更高效的利用系统资源

# 更快速的启动时间

# 一致的运行环境

# 持续交付和部署

# 更轻松的迁移

docker常用命令

镜像image
  • 搜索网上的docker镜像
docker search hello-world		# hello-world 为镜像名字
  • 下载docker镜像
docker pull docker.io/hello-world
  • 查看已经下载的镜像
docker images

docker image ls
  • 运行镜像
docker run fce 			# fce为镜像id前三位

docker run hello-world	# hello-world 为镜像name

docker run -it centos	/bin/bash		# -it 交互式终端

docker run --name mydocker -it centos /bin/bash	 # 自定义容器名mydocker
  • 删除镜像
docker rmi 镜像id			

docker rmi -f 镜像id			# -f强制删除
容器
  • 查看正在运行的容器
docker container ls
  • 查看运行过的容器
docker ps -a
  • 运行容器
docker start 容器id
  • 进入容器
docker exec -it	容器id	/bin/bash
  • 删除容器
docker rm 容器id

docker	rm -f 容器id		# -f强制删除
  • run & exec
docker run -it 镜像名 /bin/bash

docker exec it 容器id	/bin/bash

# 两条命令的效果都是进入到一个容器

run:
"""
run 后面跟的是镜像名;当镜像不存在时,会自动下载
run 运行这个镜像,并创建一个新容器
""" exec:
"""
exec 后面跟的是容器id;
exec 且该容器一定要是启动状态,如果没有启动要先用docker start 容器id启动
"""
  • 容器打包成镜像
docker commit 容器id
  • 导出镜像
docker save centos > /opt/centos.tar.gz		# 会自动压缩
  • 导入镜像
docker load < /opt/centos.tar.gz
  • 查看指定容器的端口映射
docker port	容器id
  • 查看容器内的进程
docker top 容器id
  • 外部访问容器
# 1. 在容器内运行一个app.py程序,运行在5000端口

# 2. 使用-P参数随机映射一个端口到虚拟机上

	# 2.1 使用-p参数自定义一个端口到虚拟机上,如9000段口

# 我们可以通过虚拟机的ip 加端口进行访问

仓库

  • 发布镜像到dockerhub仓库
# docker提供了一个类似与github的仓库,你可以把你本地的镜像发布到docker提供的仓库中,这样别人就可以直接从docker仓库中下载你的镜像镜像使用

# 1.注册docker
https://hub.docker.com/ # 2.在linux中登录dockerhub
docker login # 3.改名
docker tag 原镜像名 账号/镜像名 # 此地一定要保证镜像名前面的tag和账号一致
# 如:docker tag centos aaa/centos 假设dockerhub账号为aaa # 4.上传
docker push aaa/centos:latest # 5.从docker上下载镜像
docker pull aaa/centos:latest
  • 搭建私有仓库
# 像上面这种镜像仓库是公开的,其他人是可以下载的,并不安全,因此还可以使用docker registry官方提供的私有仓库

# 1.官方提供私有仓库docker registry用法
https://yeasy.gitbooks.io/docker_practice/repository/registry.html # 2.一条命令下载registry镜像并且启动私有仓库容器
docker pull registry # 3.私有仓库会被创建在容器的/var/lib/registry下,因此通过-v参数将镜像文件存储到本地的/opt/data/registry下,端口映射容器中的5000端口到宿主机的5000端口
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry # 4.检查启动registry容器
docker ps -a # 5.测试链接容器
telnet 192.168.xx.xx 5000 # ip + 宿主机的端口 # 6.修改镜像tag,需要以docker registry的地址段开头
docker tag hello-world:latest 192.168.xx.xx:5000/hello-world:latest # 7.查看镜像,找到registry镜像
docker images # 8.修改配置
"""
8.1 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项 来取消这个限制,这里必须写正确json数据
"""
vim /etc/docker/daemon.json # 打开这个文件 "insecure-registries":["192.168.xx.xx:5000"] # 添加这个配置 """
8.2 写入到docker服务中,写入到[Service]配置块中,加载此配置文件
"""
vim /lib/systemd/system/docker.service # 打开这个文件 EnvironmentFile=-/etc/docker/daemon.json # 添加这行配置 systemctl daemon-reload # 重新加载docker配置 systemctl restart docker # 重启docker # 9.因为重启docker服务,所以容器都会挂掉,需要重启容器
docker ps -a
docker start 容器id # 10.推送本地镜像
docker push 192.168.xx.xx:5000/hello-world # 11.访问
浏览器:http://192.168.xx.xx:5000/v2/_catalog

docker安装及配置的更多相关文章

  1. Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...

  2. docker安装与配置gitlab详细过程

    docker安装与配置gitlab详细过程 1.打开网易镜像中心 https://c.163yun.com/hub#/m/home/ 2.搜索gitlab,获取下载地址.例如:docker pull  ...

  3. Docker笔记(三):Docker安装与配置

    原文地址:http://blog.jboost.cn/2019/07/14/docker-3.html Docker分为Docker CE社区免费版与Docker EE企业收费版.Docker EE主 ...

  4. docker安装与配置

    Docker与虚拟化技术的区别 虚拟机分配多少宿主机就减少多少资源,比如VMware1分配了2Gb内存,如果运行5Gb的应用程序会造成内存溢出,vmware2分配了2Gb内存,如果运行2Gb的应用程序 ...

  5. Docker 安装及配置镜像加速

    Docker 版本 随着 Docker 的飞速发展,企业级功能的上线,更好的服务意味着需要支付一定的费用,目前 Docker 被分为两个版本: community-edition 社区版 enterp ...

  6. docker安装和配置nginx

    配置nginx docker配置nginx 本机ip是192.168.0.200 docker pull nginx 配置nginx主机 vi /root/docker/nginx/nginx01.c ...

  7. Docker 安装和配置

    #centos 6 需要另外安装 yum install lxc libcgroup device-mapper-ecent-libs 推荐centos7 安装深事#centos 7 直接安装就好yu ...

  8. centos7.x docker安装及配置,持续更新

    1. 安装docker-ce [root],ce为docker社区版,免费,ee版为企业版,收费 列出所有已安装docker # rpm -qa | grep docker 删除已安装docker # ...

  9. win10下docker安装和配置镜像仓库

    初学docker记录一下流程 1.首先安装直接官网下载 DockerToolbox 即可,安装过程傻瓜式下一步即可.(这个集成了虚拟机,果然安装过的可以去掉) 2.安装好后双击Docker Quick ...

随机推荐

  1. MongoDB的Replica Set以及Auth的配置

    http://blog.0x01.site/2017/01/13/MongoDB%E7%9A%84Replica-Set%E4%BB%A5%E5%8F%8AAuth%E7%9A%84%E9%85%8D ...

  2. shapefile添加字段 设置文件名为字段内容

    转眼间,这一年又结束了,再记录一点知识吧 同事说他有好多shapefile,想给每个shapefile添加一字段,并设置该字段的内容为shapefile文件名,想着用arcpy实现,于是有了下面的代码 ...

  3. c语言01次作业--分支,顺序结构

    C语言--第01次作业 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本章学习让我体会良多.首先,不得不承认自己是一个非常马虎的人.常见的问题就是输出格式上常因为没有与题目要 ...

  4. 五、Pyqt5事件、信号和槽

    PyQt中提供了两种针对事件处理的机制:一种是事件,另一种则是信号和槽. 一.事件 事件处理在PyQt中是比较底层的,常用的事件有键盘事件.鼠标事件.拖放事件.滚轮事件.定时事件.焦点事件.进入和离开 ...

  5. SystemUI中设置横竖屏显示

    SystemUI中快捷菜单有 “方向锁定” . RotationLockTile protected void handleClick() { if (mController == null) ret ...

  6. mysql读写分离——中间件ProxySQL的简介与配置

    mysql实现读写分离的方式 mysql 实现读写分离的方式有以下几种: 程序修改mysql操作,直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配,需要开发人员协助. am ...

  7. Unity3D 中 脚本(MonoBehaviour) 生命周期WaitForEndOfFrame需要注意的地方

    首先看看MonoBehaviour的生命周期 先上个图(来源 http://blog.csdn.net/qitian67/article/details/18516503): 1.Awake 和 St ...

  8. java -version显示版本和JAvA_HOME配置不一样

    当你需要安装多个版本的jdk时,可能会遇到更改了JAVA_HOME后java -version不变的情况. 一般情况下,将你的JAVA_HOME改为你要用的jdk的安装路径,然后你使用的就是这个版本的 ...

  9. HTTP Status 404 – Not Found

    一般都是配置中的问题,这次发现扫描controller时,自己的包是com.aaa.conlller,而springmvc.xml中扫描的是com.aaa.controller,,多写了一个l

  10. 前端json导入excel中

    ExportToExcel: function () { var param = {}; var _this = this; param.beginDate = $("#beginDate& ...