1. 概述

之前聊了很多 SpringCloud 相关的话题,今天我们来聊聊服务容器 Docker。

2. 在 CentOS7 安装 Docker

2.1 卸载旧版本的Docker 

# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

2.2 安装仓库

# yum install -y yum-utils

# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

2.3 安装 Docker

yum install docker-ce docker-ce-cli containerd.io

2.4 修改 Docker 配置

# cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"data-root": "/data/docker"
}
EOF

2.5 启动 Docker

# systemctl start docker

2.6 验证 Docker 

# docker run hello-world

2.7 docker setup user: permission denied: unknown 错误解决

如果在执行 docker run hello-world 时,报如下错误:

docker setup user: permission denied: unknown

关闭 Selinux 即可解决。

# vim /etc/sysconfig/selinux

SELINUX=enforcing 改为 SELINUX=disabled

重启服务器

3. Docker 的常用命令

3.1 查看容器 

# 查看正在运行的容器

docker ps

# 查看所有容器

docker ps -a

3.2 查看所有镜像

docker images

3.3 运行容器

docker run -d --name 容器名  -p 宿主机端口:容器端口 -e 附加参数  容器tag名称:版本号

-d 代表后台运行

--name 是给容器起的名称

-p 是端口映射,可写多个,冒号前面的是宿主机的端口,冒号后面的是容器内服务的端口

-e 后面是一些容器自定义的附加参数

具体容器的运行方法可参考 Docker Hub 官网:https://hub.docker.com/

例如:

运行 RabbitMQ 例子

docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management

运行 Redis 例子

docker run -d -p 6379:6379 --name myredis redis:3.2 redis-server

运行 mysql 例子

docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql

3.4 运行容器并对容器资源进行限制

docker run -d -c 4000 -m 200M --bikio-weight 300 nginx

-c 代表分配的 CPU 份额

-m 代表限制的最大内存

--bikio-weight 代表分配的 io  份额

3.5 目录映射

docker run --name myfront -p 8080:80 -v /root/foodie-cloud/foodie-shop:/usr/share/nginx/html -d nginx

-v 代表将容器的目录映射到宿主机,冒号前面是宿主机的路径,冒号后面是容器的路径

3.6 查看容器日志

docker logs -f 容器名/容器ID

-f 代表实时刷新日志

3.7 进入容器操作

docker exec -it 容器名/容器ID /bin/bash

-it 是交互的意思

3.8 拷贝文件/文件夹到容器

docker cp 宿主机文件/文件夹 容器名:容器目录

3.9 删除容器

docker rm 容器ID

3.10 删除镜像

docker rmi 镜像ID

3.11 启动、停止、重启容器

docker start 容器名

docker stop 容器名

docker restart 容器名

3.12 启动、停止 Docker

systemctl start docker

systemctl stop docker

systemctl restart docker

3.13 Docker开机启动

chkconfig docker on

4. 综述

今天聊了一下 Docker 相关的知识 ,希望可以对大家的工作有所帮助。

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,每天更新Java干货。

5. 个人公众号

追风人聊Java,欢迎大家关注

Docker 急速入门的更多相关文章

  1. 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】

    最近对docker这个比较感兴趣,找一个比较完整的书籍看看,在z.cn上找到了电子书,jd dangdang看来要加油啊 Docker技术入门与实战 [Kindle电子书] ~ 杨保华 戴王剑 曹亚仑 ...

  2. docker-9 supervisord 参考docker从入门到实战

    参考docker从入门到实战 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机 ...

  3. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  4. Docker快速入门

    Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...

  5. Docker安装入门 -- 应用镜像

    Docker安装入门 -- 应用镜像 WordPress  1.docker build -t csphere/wordpress:4.2 .  2.docker run -d -p 80:80 -- ...

  6. Docker安装入门 -- 中间件镜像

    Docker安装入门 -- 中间件镜像 php-fpm 1.docker build -t csphere/php-fpm:5.4 .   //在当前目录下创建镜像 2.docker run -d - ...

  7. Docker新手入门:基本用法

    Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少 ...

  8. Docker快速入门(二)

    上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker ...

  9. Docker 从入门到实践(一)Docker 简介

    读前须知:本教程大部分都是[Docker 从入门到实践 ]一书的知识,有兴趣可以直接观看书籍.同时,借鉴书籍的知识,如有侵权,请告知我,我会删除处理.谢谢. 一.什么是 Docker? Docker ...

随机推荐

  1. 题解 [HNOI2012]集合选数

    题目传送门 题目大意 直接看题面吧. 思路 感觉挺水的一道题啊?怎么评到紫色的啊?考试的时候LJS出了这个题的加强版我就只想出这个思路,然后就爆了... 不难发现,我们可以构造矩阵: x 2x 4x ...

  2. css3新增文本属性

    css3新增属性 边框属性 背景属性 文本属性 颜色属性 文本属性 属性 说明 text-shadow 为文字添加阴影 box-shadow 在元素的框架上添加阴影效果 text-overflow 确 ...

  3. BG的本性

    BG的本性 更舒适的体验 算法一: 我还会暴力!模拟一下 复杂度 \(O(nm)\), 期望得分10 算法二: 用线段树优化枚举,直接找可行点 复杂度 \(O(\mathrm{ans} \log_2 ...

  4. C#开发BIMFACE系列48 Nginx部署并加载离线数据包

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列47 IIS部署并加载离线数据包>中详细介绍了IIS部署并访问的完整步 ...

  5. BUAA SE 软件案例分析-CSDN

    Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 系统地学习软件工程开发知识,掌握相关流程和技术,提升 ...

  6. 脚本:bat实现自动转换windows远程端口

    问题描述:通过一个脚本可以实现windows远程端口的转换,这个是拷贝过来学习的一个脚本 @echo off color f0 echo 修改远程桌面3389端口(支持Windows 2003 200 ...

  7. Linux基础是零基础必须要过的关,你懂了多少

    #LINUX基础学习 ##命令行下的基础知识 Linux区分英文的大小写. date :查看时间 cal:查看日历 [Tab] 热键 :可以自动补全命令名和文件名 [Ctrl]+C 热键 :可以中断正 ...

  8. 从零开始 DIY 智能家居 - 基于 ESP32 的智能紫外线传感器模块

    目录 前言 硬件选择 二.使用步骤 获取代码 设备控制命令: 设备和协议初始化流程: 配置设备信息 回调函数注册 数据获取与上报流程 总结 前言 做了这么多传感器都是自己玩,这次家里人看不下去了,非得 ...

  9. linux rtl8188eu ap模式 密码错误 disassoc&#160;reason&#160;code(8)

    2018-05-30 14:12:46 于深圳南山科技园 最近有个项目,客户需要通过手机app通过机器wifi热点连接,从而实现对机器的设置及视频的实时预览等各种功能.这两天一直在搞rtl8188eu ...

  10. Django 前端BootCSS 实现分页

    通过使用bootstrap框架,并配合Django自带的Paginator分页组件即可实现简单的分页效果. 1.创建MyWeb项目 python manage.py startapp MyWeb 2. ...