Docker的安装及使用
一:docker的介绍
1、下载docker依赖的环境
想安装docker,需要先将依赖的环境全部下载下来,就行maven依赖jdk一样
yum -y install yum-utils device-mapper-persistent-data lvm2
2、指定docker镜像源
默认下载docker会去国外服务器下载,速度较慢,可以设置为阿里云镜像源,速度快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker
yum makecache fast
yum –y install docker-ce
4、启动docker并测试
#启动docker服务
systemctl start docker
#设置开机自动启动
systemctl enable docker
#测试
docker run hello-world
二:docker的中央仓库
1、 docker官方的中央仓库:这个仓库是镜像最全的,但下载速度较慢
2、 国内的镜像网站:网易蜂巢、daoCloud等,下载速度快,但是镜像相对不全
https://c.163yun.com/hub#/home
http://hub.daocloud.io/ (推荐使用)
例子:
vi /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
systemctl daemon-reload
systemctl restart docker
执行以下命令:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
service docker restart
3、 在公司内部采用私服的方式拉取镜像(添加配置)
#需要创建/etc/docker/daemon.json,并添加如下内容:
{
“registry-mirrors”:[”https://registry.docker-cn.com”],
“insecure-registries”:[”ip:port”]
}
#重启两个服务
systemctl daemon-reload
systemctl restart docker
三:镜像的操作
1、 拉取镜像
从中央仓库拉取镜像到本地
docker pull 镜像名称[:tag]
#举个例子:docker pull daocloud.io/library/tomcat:8.5.15-jre8
2、 查看本地全部镜像
docker images
镜像信息包含:标识、名称、版本、更新时间、大小
3、 删除本地镜像
镜像会占用磁盘空间,可以直接手动删除,标识通过查看获取
docker rmi 镜像的标识
例子:删除tomcat
docker rmi b8df
4、 镜像的导入导出
如果因为网络原因可以通过硬盘方式传输镜像,虽然不规范但是有效,但是这种方式导出的镜像名称和版本都是null,需要手动修改
#将本地的镜像导出
docker save –o 导出的路径 镜像id
例:把tomcat导出到/opt/tomcat文件中
docker save -o /opt/tomcat b8df
#加载本地的镜像文件
docker load –i 镜像文件
例:加载本地tomcat的镜像文件
docker load -i /opt/tomcat
#修改镜像文件
dcoker tag 镜像id 新镜像名称:版本
例:docker tag b8df tomcat:8.5.15-jre8
四:容器的操作
1、 运行容器
运行容器需要定制具体镜像,如果镜像不存在,会直接下载
#简单操作
docker run 镜像的标识|镜像名称[:tag]
#常用的参数
docker run –d –p 宿主机端口:容器端口 –-name 容器名称 镜像的标识|镜像名称[:tag]
-d 代表后台运行容器
-p宿主机端口:容器端口 为了映射当前linux的端口和容器的端口
--name 容器名称 指定容器的名称
例子:
docker run -d -p 8080:8080 --name tomcat b8df
浏览器访问tomcat是否开启:http://192.168.231.128:8080/
2、 查看正在运行的容器
docker ps
docker ps –a 查看所有容器(包含运行和非运行的)
docker ps –qa 查看所有容器的id(包含运行和非运行的)
3、 查看容器的日志
docker logs -f 容器id
例:docker logs -f 782b
4、 停止、删除容器
停止容器
docker stop 782b
删除容器
docker rm 782b
删除全部容器
docker rm $(docker ps -qa)
运行停止的容器
docker start 782b
重新启动容器
docker restart 782b
五:docker的应用
1、 运行mysql容器
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.4
没有这个镜像就会自动下载,密码为root