Docker的安装与配置

CentOS


前提条件

目前,CentOS 仅在发行的版本中的内核支持Docker
Docker 运行在CentOS 7 上要求系统为64位,系统内核版本在3.10以上。本次测试运行使用的是 centOS 7.2 64位的系统版本。
使用代码 uname -r即可查看系统内核版本

Docker软件已经包括在默认的CentOS-Extras软件源中。因此想要安装Docker,只需要运行下面的yum命令:

yum install docker-io -y

直接yum安装,查看版本来看docker是否安装完成

docker -v

启动docker服务

service docker start

设置开机自启动

chkconfig docker on

由于国内访问 Docker Hub 比较慢,可以使用腾讯云提供的国内镜像源,加速访问 Docker Hub 。依次执行以下命令:

echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker

systemctl daemon-reload

service docker

Ubuntu


Docker 要求Ubuntu 系统的内核版本高于3.10,通过uname -r命令查看当前的内核版本
本次测试使用的Ubuntu 系统为Ubuntu Server 16.04.1 LTS 64位

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

验证一下Docker 有没有安装成功

docker -v

安装成功,因为要使用docker hub 的原因,在这里我们需要添加一个国内的镜像,这里我们使用阿里云的。修改daemon配置文件/etc/docker/daemon.json来使用加速器

1.  sudo mkdir -p /etc/docker
2.  sudo tee /etc/docker/daemon.json <<-'EOF'
3.  {
4.          "registry-mirrors": ["https://dmmxhzvq.mirror.aliyuncs.com"]
5.  }
6.  EOF
7.  sudo systemctl daemon-reload
8.  sudo systemctl restart docker

Windows


Docker在Windows中需要使用虚拟机才能够运行,目前支持的版本是Windows 10以及Windows server 2016。在Windows 7中进行安装测试,无法安装。截图如下。

docker 的基本操作命令

删除


杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有已经停止的容器

docker rm $(docker ps -a -q)

删除所有未打dangling 标签的镜像

docker rmi $(docker images -q -f dangling=true)

通过镜像的id来删除指定镜像

docker rmi <image id>

删除所有镜像

docker rmi $(docker images -q)

查看

查看正在运行的容器

docker ps

查看所有的容器

docker ps -a

查看本地的所有镜像

docker images -a

查看本地镜像中REPOSITORY为centos的镜像

docker images centos

配置镜像

下载镜像

docker pull [image name]:[tag]

登录到仓库(默认为docker hub)

docker login -u [用户名] -p [密码]

登出仓库

docker logout

将本地镜像上传到镜像仓库(需要先登录到仓库)

docker push [image name]:[tag]

容器

强制删除容器db01,db02(-f:通过SIGKLL信号强制删除一个运行中的容器)

dokcer rm -f db01、db02

删除容器db01 ,并删除容器挂载的数据卷(-v:删除与容器关联的卷)

dokcer rm -v db01

实践中遇到的错误

1.镜像无法删除


docker rmi $(docker images -q)

理论上应该可以删除全部镜像,但是实际操作中却出现了问题。于是只能单独进行删除

docker rmi <image id>

如果有image id相同,会出现以下错误

Error response from daemon: conflict: unable to delete d231ef002eba (must be forced) - image is referenced in one or more repositories

那么可以使用name:tag进行删除.

docker rmi <image name>:<tag>

问题即可解决

2.job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.和Cannot connect to the Docker daemon. Is the docker daemon running on this host?的问题解决

起因:腾讯云服务器我给他重启了之后,发现docker 命令就一直报 Cannot的错误。

这可能有两个原因:
1.docker服务没有启动;
2.docker没有相关的权限;
原因2呢,用sudo取得权限就行。
但是这次的问题是原因1,那么就启动呗

start docker service

但是就得到了下列这样的问题

那怎么解决呢,首先看一下/etc/docker/daemon.json这个文件存不存在,如果存在那就看看里面的内容出了什么问题。

cd /etc/docker
vim daemon.json

然后你把下面的代码放进去,就可以啦

{ "storage-driver": "devicemapper" }

如果daemon.json文件包含格式不正确的JSON,Docker将无法启动。

然后重启一下docker

service docker start

ok!运行没得问题咯。

实例1:wordpress+mysql

安装相关镜像

从镜像库(默认是Docker hub )中查询是否有镜像文件

docker search mysql

将所需镜像文件下载到本地

docker pull mysql

查询是否成功

docker images

好的本地库中有了mysql镜像,再下载一个wordpress镜像

先启动mysql

docker run --name lir_mysql -e MYSQL_ROOT_PASSWORD=lir123 -d mysql

--name lir_mysql 给容器命名为lir_mysql
-e 设置环境变量
-d 后台运行容器,并返回容器ID

先检查一下有没有运行成功

docker ps

好的,运行成功了!再启动wordpress和mysql链接一下

docker run --name lir_wordpress --link lir_mysql:mysql -p 8080:80 -d wordpress

--link添加链接到另一个容器
-p默认将容器的80端口映射到主机的随机端口
-p 8080:80将容器的80端口映射到主机的8080端口

好的,检查一下

docker ps

容器没问题!

打开网站看一下

配置一下wordpress信息,ok!8080端口

当然我们还可以使用fig来对wordpress配置。但是在这里不作演示说明

安装 aspnet和iis

在docker hub 官方镜像库中,微软有自己的官方发布的iis和asp.net,以及asp.net core镜像。
在腾讯云的镜像加速下,centos 服务器进行pull这些镜像。

无法成功!可能是国内的镜像库并没有这些镜像,所以拉取docker hub,但是docker hub在国内没有镜像服务,加之国情如此。。。

换Ubuntu系统,使用docker hub mirror 进行加速服务,首先要先注册账号,然后使用命令,将自有的主机注册到docker hub mirror中

curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s xxx

xxx为注册账号的id

配置成功后的信息

相关的docker容器可视化服务有很多,但是大部分都是收费的。企业用必须自己搭建自己的镜像服务器和相关管理系统

在Ubuntu服务器中pull iis和aspnet的官方镜像。发现如下问题

没错,linux系统中的docker无法跑起官方的aspnet和iis镜像,错误信息提示,windows镜像无法跑起来(Windows 的docker只能在windows server 2016/windows 10上跑的,无法跑在Linux上的)。

安装vm虚拟机,准备在win7中跑一个win10 64和一个windows server 2016,然而出现了下面的情况

这个问题解决需要在本机BIOS中进行相关设置。

原文地址:http://www.jianshu.com/p/b3f3cb119121


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Docker 实战笔记相关推荐

  1. Docker实战笔记

    部署Nginx 搜索镜像 # 搜索镜像 [root@iZwz9a69mvjujb826ezp71Z ~]# docker search nginx NAME DESCRIPTION STARS OFF ...

  2. 尚硅谷Docker实战教程-笔记02【安装docker、镜像加速器配置】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表[课程资料下载] 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01[理念简介 ...

  3. 阿里巴巴中台战略思想与架构实战笔记

    阿里巴巴中台战略思想与架构实战笔记 序言一 序言二 第一部分 引子 第1章 阿⾥巴巴集团中台战略引发的思考 1.1 阿⾥巴巴共享业务事业部的发展史 1.2 企业信息中心发展的症结 "烟囱式& ...

  4. 狂神 Docker学习笔记 从基础到进阶 一步到位

    Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...

  5. Docker学习笔记 (4)

    Docker学习笔记 (4) Docker 网络 原理简述 ip addr查看网络地址: 问题:Docker 如何处理容器网络访问的? docker run -d -P --name tomcat01 ...

  6. 随笔——Docker学习笔记

    Docker学习笔记 一.Docker 安装 二.Docker常用命令 注意事项 1.删除容器 2.删除镜像 3.容器中命令 4.容器的生命周期 5.Dockerfile构建镜像 6.docker两个 ...

  7. Docker学习笔记-快速上手笔记(保姆级)

    文章目录 Docker简介 Docker安装 阿里云加速服务 运行流程图(run) Docker常用命令 基础命令 镜像命令 docker images docker search docker pu ...

  8. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

  9. RabbitMQ实战笔记

    RabbitMQ实战笔记 1 MQ引言 1.1 中间件技术及架构的概述 1.2 什么是MQ 1.3 为什么要用MQ 1.4 MQ的分类 1.5 MQ的选择 2 RabbitMQ 的引言 2.1 Rab ...

最新文章

  1. 码农技术炒股之路——抓取日线数据、计算均线和除权数据
  2. proto文件导入mysql_导出mysql表结构生成grpc需要的proto文件工具
  3. Yarn 问题发现与解决
  4. OCtaveResNet 测试
  5. python源码精要(5)-C代码规范
  6. jdk7默认gc算法_JDK 7的算法和数据结构
  7. 微信小程序scroll-view去掉滚动条
  8. 虚拟机 ubuntu10.04 安装 Mercury MW150U 无线网卡(AR9271芯片组)
  9. 转行HTML5前端开发,该怎么学才能最快入门
  10. 刷题笔记(1) 一个序列是否为二叉搜索树的遍历结果
  11. 如何在版本控制工具中管理Sencha Architect的項目
  12. 前端面试题—2021年web前端开发面试题
  13. 24V电压TVS二极管选型
  14. 福州太冷?那就快来这些地方!不仅有威廉王子的蜜月圣地,也有贝克汉姆的度假天堂!全部免签or落地签...
  15. 注册百度地图开发者账户创建
  16. 【iOS】获取App Store上的.ipa包
  17. MVVMLight Dialog
  18. 解决No “rule to make target `../skin_test.qss', needed by `debug/qrc_resource.cpp'. Stop.”
  19. Box2d源码学习十二b2Collision之碰撞(上)公共部分的实现
  20. 有趣的Python:Python控制键盘鼠标

热门文章

  1. 【清北学堂】 死亡(death)
  2. JavaScript中“javascript:void(0) ”是什么意思
  3. tplink-wr841n无线路由接入到局域网三层交换机方法
  4. C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
  5. 数字化如何界定IT与OT?
  6. NET问答: 如何检查一个 string 是否为有效的 url 格式?
  7. 国内最大.NET平台重金招募中 你竟然还不知道?
  8. 文末有彩蛋 | 第四周课程回顾与总结
  9. C#中使用jieba.NET、WordCloudSharp制作词云图
  10. 微软放弃IE浏览器 应尽快完成国产化替代