这是我第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 #默认安装目录