docker安装及配置
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安装及配置的更多相关文章
- Ubuntu Docker 安装和配置 GitLab CI 持续集成
相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...
- docker安装与配置gitlab详细过程
docker安装与配置gitlab详细过程 1.打开网易镜像中心 https://c.163yun.com/hub#/m/home/ 2.搜索gitlab,获取下载地址.例如:docker pull ...
- Docker笔记(三):Docker安装与配置
原文地址:http://blog.jboost.cn/2019/07/14/docker-3.html Docker分为Docker CE社区免费版与Docker EE企业收费版.Docker EE主 ...
- docker安装与配置
Docker与虚拟化技术的区别 虚拟机分配多少宿主机就减少多少资源,比如VMware1分配了2Gb内存,如果运行5Gb的应用程序会造成内存溢出,vmware2分配了2Gb内存,如果运行2Gb的应用程序 ...
- Docker 安装及配置镜像加速
Docker 版本 随着 Docker 的飞速发展,企业级功能的上线,更好的服务意味着需要支付一定的费用,目前 Docker 被分为两个版本: community-edition 社区版 enterp ...
- docker安装和配置nginx
配置nginx docker配置nginx 本机ip是192.168.0.200 docker pull nginx 配置nginx主机 vi /root/docker/nginx/nginx01.c ...
- Docker 安装和配置
#centos 6 需要另外安装 yum install lxc libcgroup device-mapper-ecent-libs 推荐centos7 安装深事#centos 7 直接安装就好yu ...
- centos7.x docker安装及配置,持续更新
1. 安装docker-ce [root],ce为docker社区版,免费,ee版为企业版,收费 列出所有已安装docker # rpm -qa | grep docker 删除已安装docker # ...
- win10下docker安装和配置镜像仓库
初学docker记录一下流程 1.首先安装直接官网下载 DockerToolbox 即可,安装过程傻瓜式下一步即可.(这个集成了虚拟机,果然安装过的可以去掉) 2.安装好后双击Docker Quick ...
随机推荐
- 分析easyswoole3.0源码,服务启动为例(二)
以下内容需要结合es的源码,不然可能会觉得跳跃.先描述下es启动的大致流程.es启动的时候注册异常处理函数以及加载配置文件.根据位置文件的设置选择启动哪种swoole服务.然后用一个事件注册类,注册s ...
- web自动化上传附件 2
当我们进行某一项web自动化脚本编写时,有上传附件操作,点击附件直接打开了windows窗口,而有的点击添加附件打开一个小窗体,再点击‘浏览’才打开windows窗口, 中间多了这么一个小窗体的操作, ...
- 在linux上添加硬盘
首先呢我们需要添加一个硬盘,如下所示: 接着我们需要新建一个硬盘 代码如下: mkdir /bak fdisk -l 接着我们继续第二步,分区 代码如下: fdisk /dev/sdb n add ...
- oracle竖表转横表字段合并
select * from( SELECT t.ID, ISTATUS, ITIMEOUT, IRESENDTIMEOUT, IRESENDFIXED, IAUTOUPGRADE, STRTERMPR ...
- PHP不借助第三个变量交换值
总结一下: //方法一: $a = "abc"; $b= "def"; $a = $a^$b; $b = $b^$a; $a = $a^$b; //方法二: l ...
- Qt自定义滚动条(不使用样式表)
前面使用Qt 样式表实现滚动条,在实际工作中,发现存在一些瑕疵,例如如果在主窗口中绘制背景,则有可能给滚动条染色,还有如果想实现特殊的效果,则必须使用自定义风格,即从QStyle的子类派生出新的类型. ...
- Java中子类对象初始化的过程
Java中的继承机制看似简单,实际上包含了很多细节.最近在刷题过程中屡屡跳坑,于是自己仔细再学习了一下Java中子类初始化的细节,与大家分享. class Father { Father(){}; } ...
- 使用kbmMWConfiguration 让 kbmmw smartservice 更聪明
以前的文章介绍了 很多 kbmmw smartservice 的使用,尤其是 rest 服务,所有的的配置都是通过 开发时写编码实现的,这样就可能导致,针对不同的应用环境,我们要重新编译代码,当然也可 ...
- 前后台分离开发时遇到循环引用问题"$ref"
1. 遇到的问题 { "errMsg": "", "data": { "baseinfo": { "freeT ...
- 2019.03.12 codeforces739E. Gosha is hunting(dp凸优化)
传送门 题意:nnn个物品,有aaa个XXX道具和bbb个YYY道具,XXX道具移走第iii个物品概率为pip_ipi,YYY道具移走第iii个道具概率为uiu_iui. 对于每个物品每种道具最多 ...