初识 docker
一、安装Docker
我使用的是腾讯云上的centos 7。
docker -v 查看是否已经安装有docker
如果有 systemctl stop docker 停止docker服务
查看当前版本 rpm -qa | grep docker
卸载 docker
yum erase docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce
删除一些相关的配置
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
rm -rf /var/lib/docker #删除以前已有的镜像和容器,非必要
rm -rf /var/run/docker
接下来就是安装了:
更新yum源: yum update
安装工具:yum install -y yum-utils device-mapper-persistent-data lvm2
添加docker-ce的yum源 : yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo,完成后会在/etc/yum.repo.d/下多了docker-ce.repo
查看docker-ce 版本: yum list docker-ce --showduplicates | sort -r

使用命令 yum install docker-ce-version 安装相应版本的docker: yum install -y docker-ce-18.06.3.ce
查看docker版本:docker version

我安装完运行docker命令的时候提示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决办法:
systemctl daemon-reload
service docker restart
查看docker状态

最后可以用 docker run hello-world 测试docker是否正常可用。

二、docker镜像加速器配置
由于国内访问docker官方镜像慢的原因,通常需要配置国内的镜像加速器,我使用的是阿里云的镜像加速器 :
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
具体配置在阿里云的镜像加速器有操作文档,下面是我centos的配置
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["镜像加速器URL"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
三、docker 常用命令
docker --version 查看当前安装docker版本号
docker info 显示 Docker 系统信息,包括镜像和容器数。。
docker version 显示 Docker 版本信息
docker ps 查看当前正在运行的容器
docker images 查看本地所有的镜像
docker run 运行一个容器:
docker run ubuntu:15.10 /bin/echo "Hello world" : /bin/echo "Hello world" 为在启动的容器里执行的命令,ubuntu为镜像名称,15.10位Tag,不指定Tag则默认为latest
docker run -i -t ubuntu:15.10 /bin/bash : -t 在新容器内指定一个终端,-i 允许对容器内的stdin进行交互
docker run -p hostport:containerport -d --name containername image : hostport 为宿主机对外的端口号,将containnerport容器中的端口号映射出去被外界访问,-d 为detach,指定后会在后台运行,containnername指定容器名称,image为镜像文件名称
docker logs ad3b66b77b56:查看容器id 为 ad3b66b77b56 的日志
docker stop ad3b66b77b56 :停止id为docker stop ad3b66b77b56的容器,id也可以是name
docker start ad3b66b77b56 :启动容器
docker rm ad3b66b77b56 : 移除容器
docker inspect ad3b66b77b56 : 查看底层信息
docker pull 从镜像仓库拉取镜像到本地
docker pull ubuntu:15.10
docker pull httpd
docker rmi -f fce289e99eb9 删除本地image id 为fce289e99eb9 的镜像
docker search nginx :查找镜像
docker exec -it containerId/containerName /bash 进入容器内部
docker --help 查看命令帮助
四、安装Nginx
docker pull nginx 从仓库拉取nginx镜像
docker run --name nginx-test -p 8081:80 -d nginx 使用 NGINX 默认的配置来启动一个 Nginx 容器实例

接着可以在浏览器上访问8081端口


部署nginx
创建本机的nginx目录,www: 目录将映射为 nginx 容器配置的虚拟目录,logs: 目录将映射为 nginx 容器的日志目录。conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
将docker容器中的nginx配置文件复制到本地: docker cp bb7cfa275000:/etc/nginx/nginx.conf ~/nginx/conf/
运行命令
docker run -d -p 8082:80 --name nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx
-p 8082:80: 将容器的 80 端口映射到主机的 8082 端口。
--name runoob-nginx-test-web:将容器命名为 runoob-nginx-test-web。
-v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
-v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
最后就可以在我们创建的~/nginx/www目录下创建自己的html文件了。

初识 docker的更多相关文章
- Docker 学习应用篇之一: 初识Docker
Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等.第一次接触Docker,还是老师给我们介绍的. 1.初 ...
- Docker 第一篇--初识docker
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
- 初识Docker和Windows Server容器
概览 伴随着Windows Server 2016 Technical Preview 3 (TP3)版本的发布,微软首次提供了Windows平台下地原生容器.它集成了Docker对Windows S ...
- docker-1 初识docker
五分钟认识docker 什么是docker? 把他想象成一个用了一种新颖方式实现的超轻量虚拟机,在大概效果上也是正确的.当然在实现的原理和应用上还是和VM有巨大差别的,并且专业的叫法是应用容器(App ...
- 初识docker
什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主 ...
- 初识Docker和安装
什么是Docker Docker的构想是要实现“Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging).分发(Distribution).部 ...
- Docker实战系列一:初识Docker for Windows
windows下安装Docker官网教程Install Docker for Windows Docker配置官网教程Get started with Docker for Windows
- Docker那些事儿之初识Docker
公司内部一直在使用Docker进行服务的部署和应用的升级,从开始使用Docker一直到线上的部署以及一些基础服务的开发本人都有参与,而且自己的网站也是在Docker的基础之上进行构建的,想想也需要总结 ...
- 初识Docker:BusyBox容器后台运行失败
1.问题描述:我在进行Docker网络实验时,使用docker run -d busybox命令时,busybox无法保持后台长期运行. ============================ ...
随机推荐
- jquery的tap会执行2次的替换办法
用touchend替换 $(".videoCall").on("touchend",function(){ })$(".videoCall" ...
- [Luogu] 金字塔神话
这是出给pj的题ccccc #include <bits/stdc++.h> #define ll long long #define INF 2147483647 #define y1 ...
- 初次Java web项目的建立以及与数据库的连接
题目要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单 ...
- redis之不重启,切换RDB备份到AOF备份
确保redis版本在2.2以上 [root@pyyuc /data 22:23:30]#redis-server -v Redis server v=4.0.10 sha=00000000:0 mal ...
- webpack - 优化阻塞渲染的css
随着浏览器的日新月异,网页的性能和速度越来越好,并且对于用户体验来说也越来越重要. 现在有很多优化页面的办法,比如:静态资源的合并和压缩,code splitting,DNS预读取等等. 本文介绍的是 ...
- ICEM—非结构化周期网格
原视频下载地址:https://yunpan.cn/cPBnmsNheJ46q 访问密码 3441
- Jenkins 插件加速下载
本文主旨 看到好多加速Jenkins安装插件速度的文章,大多数教程中都是在插件配置里使用 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/up ...
- 走进JavaWeb技术世界3:JDBC的进化与连接池技术
走进JavaWeb技术世界3:JDBC的进化与连接池技术 转载公众号[码农翻身] 网络访问 随着 Oracle, Sybase, SQL Server ,DB2, Mysql 等人陆陆续续住进数据库 ...
- java跨域配置
一.问题 使用前后端分离模式开发项目时,往往会遇到这样一个问题 -- 无法跨域获取服务端数据 这是由于浏览器的同源策略导致的,目的是为了安全.在前后端分离开发模式备受青睐的今天,前端和后台项目往往会在 ...
- 图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析
1. 深度优先遍历 深度优先遍历(Depth First Search)的主要思想是: 1.首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点: 2.当没有未访问过的顶点时,则回 ...