安装Docker
国内daocloud一键安装命令:curl -sSL https://get.daocloud.io/docker | sh
或使用下面的方式
1.下载关于Docker的依赖环境
[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
2.设置下载Docker的镜像源
[root@docker ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装Docker
[root@docker ~]# yum makecache fast #生成缓存 如果要清理缓存 yum clean all
[root@docker ~]# yum -y install docker-ce
4.启动,并设置为开机自动启动,测试
[root@docker ~]# systemctl start docker #启动Docker服务
[root@docker ~]# systemctl enable docker #设置开机自动启动
[root@docker ~]# docker run hello-world #测试
拉取镜像并且运行镜像成的容器
Hello from Docker!
This message shows that your installation appears to be working correctly.
Docker的中央仓库
1.Docker官方的中央仓库:这个仓库是镜像最全的,但是下载速度很慢。https://hub.docker.com
也可以配置加速器,这样拉取中央仓库的速度也会大大提升
2.国内的镜像网站:网易蜂巢、daoCloud 等...
3.在公司内部会采用私服的方式拉取镜像。(添加配置才能生效)
需要在/etc/docker/daemon.json编写一下配置(没有则创建)
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["ip:port"] #公司内部IP加端口号
}
重启两个服务
systemctl daemon-reload
systemctl restart docker
镜像的操作
1.拉取镜像到本地
docker pull 镜像名称[:tag] #tag版本标签,不写则拉取默认版本
# 举例
docker pull daocloud.io/library/tomcat:8.5.15-jre8
2.查看全部本地的镜像
[root@docker ~]# docker images
[root@docker ~]# docker image inspect 镜像标识 #查看镜像详情
3.删除本地的镜像
[root@docker ~]# docker rmi 镜像的标识
4.镜像的导入导出(这种操作不规范)
将本地的镜像导出
[root@docker ~]# docker save -o 导出的路径/导出后的镜像名称 唯一标识
加载本地的镜像文件
[root@docker ~]# docker load -i 导出后的镜像名称
不规范之处就在于导入的镜像文件名称会变成<none>后续的操作很麻烦所以又要修改名字
修改镜像名称
[root@docker ~]# docker tag 镜像id 修改新的名称:修改新的版本
容器的操作
1.运行容器
1.简单的运行容器操作(用的比较少)
[root@docker ~]# docker run 镜像的标识|镜像名称[:tag]
2.常用的运行容器操作
[root@docker ~]# docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
-d 代表在后台运行容器
-p 宿主机端口:容器端口 为了映射当前Linux端口和容器的端口
--name 容器名称 指定容器的名称
2.查看正在运行的容器
[root@docker ~]# docker ps [-qa]
-a:查看全部的容器,包括没有运行
-q:只查看容器得到标识
3.查看容器的日志
[root@docker ~]# docker logs -f 容器id
-f:可以滚动查看日志的最后几行
4.进入到容器内部
[root@docker ~]# docker exec -it 容器id bash
5.删除容器(删除容器前,需要停止容器)
停止指定的容器
[root@docker ~]# docker stop 容器id
停止全部容器
[root@docker ~]# docker stop $(docker ps -qa)
删除指定的容器
[root@docker ~]# docker rm 容器id
删除全部容器
[root@docker ~]# docker rm $(docker ps -qa) # docker rm `docker ps -qa` 这种写法也行
根据格式删除容器
[root@docker ~]# docker rm $(docker ps -qf status=exited)
6.启动容器
[root@docker ~]# docker start 容器id