CentOS安装Docker教程

这是我第14篇简书。

Docker,是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!传统的虚拟机技术启动应用服务c w %往往需要U 6 & [ P a数分钟,而 Docker 容器应用,由于直接运行于% _ u f z $宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时m F h间,大大的节约了开发、测试、部署的时间。
Docker分为CE(社区免P V B [ Z q - {费版)和EE(企业版) 2个版本,个人开发过程中一般用CE版本。

一.K d [ r Docker安装方式

(一)github官方脚本安装

https://github.com/doc / N g Hcker/docker-install
点进去看看文档。
安装命令:

curly : R M -fsSL ht# D k ] O 1tps://get.docker.com -o get-docker.sh
sh get-L A t n z S docker.sh
(二)设A 5 y o t % Z b 7置yum仓库安装Docker

yum:Shell前端软件包管理器,基于RPM(Linux 系统的软件包管理器,一般都自带了,所以可以直接使用yum命令),能够从指定的服务器自动下载RPM包并且安装。

1.安装依赖包
sudo yum install -y yum-utils device-mapper-pe` _ - $ * Drsistent-data lvm2
2.设置Docker-ce的阿里云镜像源

docker-ce阿里云镜像稳定版:

sudo yum-config-manager --add-repo https://mirrors.aliyun.h m V 3 Z } ncom/docker-ce/linux/centos/docker-ce.repo

也可用官方的: https://download.docker.com/linux/centos/docker-ce.repo

3.更新yum缓存
sudo yum makecache fast
4.安装 Docker-CE
sudo yum install docker-ce

二. 启动Docker

sudo systemctl start docc k r ) 4 Z 1 g $ker

可加入开机自启:sud1 M - ^ M m ]o systemctl enable dockeg P &r

三. 拉取镜像

去dockerhub下载镜像:= g N e ] nhttps://huq 3 D F / $ e l `b.docker.com/
如果pull很慢(其实大部分时候访问dockerhub很慢),要配置镜像加速器:

  • docker官网中国区镜像
    --rL d 2 r c E [egistry-mi` P krror=https://registry.do/ & Q o .cker-cn.com
  • 阿里云 alicloud (注册后申请自己的加速器,或者在网上找,很多)
    --regi6 S m 4 3 Astry-mirror=https://{your_id}.mirror.aliyuncs.com
  • 清华大学 USTC镜像加速
    --registry-mirror=https://docker.mirrors.ustc.edu.cn
(一)修改registry-mir ; p K & ~ 7 Irors
sq k K Wudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json &lk r ~ I E dt;<-'EO% F 7 - 6 Z eF'
{
"registry-H F z } b # Lmirrors": ["加速器地址"]
}
EOF
(二)重启
sudo systemctl daemon-reload
sudo systemc/ N _ {tl restart4 - w $ | _ D p x docker
& 2 J | & _三)拉取镜像

一些命令:

# 下载镜像:docker pull <镜像名:tag>
例如:
dockex _ q D b  L | Ur pull  redis
docker启动redis:
docker run --name dxlcloud-redis \
--restart=always \
-v /data$  S i , ldev/redis:/usr/local/etc/redis \
-p 6379:6379 \
-` R P } g ld redis --requirepass "root"    //requirepa0 * { M Y v $ss代表是设置密码
#M j N T H Q ? 查看已下载镜像
dockeI D : { z q 3 f jr images
# 删除容器
docker rm <容器名 or ID>
# 查D o D g 0 B看容器日志
doc! W + f T 7 ` (ker logs -f <容器名 orP b e C + ` ID>
# 查看正在运行的容器
docker ps
# 查看所有的容器,包括已经停止的。
docker ps -a
# 删除所有容器
docker rm $(docker ps -a -q)
# 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
# 宿主机复制docker容器里文件的命令
docker cp 容器的id:容器的路径 宿主机的路径
# docker容器复制宿主机里文件的命令
docker cp 宿主机的路径 容器的id:容器的路径
# docker查看容器启动日志命令
docker logs -f --tail 1000 容器id
# 进入docker容器命令
docker& h H exec -it 容器id bash
(四)其他常用

下载 以及 启动 MySQL:

#下载:
docker pull mysql:5.7
#启动:
docker run -d \
--restart=always \
--name=mysql \
-v /datadev/mysql:/var/lib/mysql \     //-v :前是代表挂在出来的目录 :后代表的是容器内的目录
-v /datadev/my.cnf:/etc/mysql/my.cnf \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=xxxxx mysql:5.7

下载 以及 启动 MongoDB(划重点):

# 1.下载:
docker pull mongo
# 2.启动:
docker rj ! % & c Vun} j W q  -d \
-p 27017:27017 \
--name dxl-mongodb \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_RP ; ? OOT_PASSWORD=root mongo
# 3.查看CONTAINER ID
docker ps
# 4.进入docker容 + : E w u R 器
docker exec -it [你的CONTAINER ID] mk 2 E ! d 8 C ?ongo
# 5.进入之后先/ P b { W { X用admin
use admin
# 6.输E r t M入刚才设定的连接数据库的账号密码:
dD i | b.auth("root","root")
# 7.连接成功后可用mongo的命令了
比如:
show dbs
show collections
db.system.users.find()9 P * ~ / 7 _
#8. 离开
e: ;  = 2 P O A lxit 或 ctrl+c

四. 卸载Doch 9 ] i A U j ? cker

1.使用yum包管理方式:

sudo yum remove docker-ce

2.删除doI [ V & icker安装目录(删除docker根目录为危险操作,会删除docker容器、镜像、数据,请谨慎操作):

docker info | grep "Docker Root DiT  c d 4 ? ( K hr" //查看安装目录
sudo rm -rf /var/lib/docker #默认安装目录