docker的安装与使用
一、docker的安装
安装环境说明
这里建议安装在CentOS7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新
安装Docker
● 使用yum命令在线安装
yum install docker
● 安装后查看Docker版本
docker -v
● 启动/停止/重启/查看docker
systemctl start/stop/restart/status docker
● 设置docker开机启动
systemctl enable docker
● 查看docker概要信息
docker info
● 查看docker帮助文档
docker --help
二、docker的使用
1、docker镜像操作
● 列出docker下的所有镜像
docker images
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下
● 从网络中查找需要的镜像
docker search 镜像名称
● 从注册中心拉取镜像
docker pull centos:7
● 配置使用国内镜像
1)编辑该文件:vi /etc/docker/daemon.json // 如果该文件不存在就手动创建
2)在该文件中输入如下内容:
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
3)重启docker服务,如果重启docker后无法加速,可以重新启动OS
● 删除镜像
#删除指定镜像
docker rmi $IMAGE_ID
#删除所有镜像
docker rmi `docker images -q`
2、Docker容器操作
● 查看容器
#查看正在运行容器
docker ps
#查看所有的容器(启动过的历史容器)
docker ps –a
#查看最后一次运行的容器
docker ps –l
#查看停止的容器
docker ps -f status=exited
● 创建与启动容器
命令:docker run
参数说明
-i:运行容器
-t:容器启动后会进入其命令行
--name :为创建的容器命名
-v:目录映射。前者是宿主机目录,后者是容器目录
-d:指定后台模式运行
-p:端口映射。前者是宿主机端口,后者是容器端口
1)创建并启动交互式容器
docker run -it --name=mycentos centos:7 /bin/bash
退出使用exit,容器会停止
2)创建并启动后台式容器
docker run -di --name=mycentos2 centos:7
登录后台式容器:docker exec -it 容器名 (或 container_id) /bin/bash
● 手动停止与启动容器
docker stop/start $CONTAINER_NAME/ID
● 文件拷贝
docker cp 需要拷贝的文件或目录 容器名称:容器目录
docker cp 容器名称:容器目录 需要拷贝的文件或目录
● 目录映射
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7
若共享的是多级的目录,可能出现权限不足的提示:
这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决映射的目录没有权限的问题
● 查看容器IP地址
docker inspect mycentos2
● 删除容器
#删除指定的容器 docker rm $CONTAINER_ID/NAME #删除所有容器 docker rm `docker ps -a -q`
● docker启动后追加参数,例如启动docker后立即开启某个docker容器:
docker update --restart=always mysql
3、部署应用
● MySQL部署(最后一个参数是使用的镜像名或id)
1)拉取mysql镜像
docker pull mysql
2)创建mysql容器
docker run -di --name pinyougou_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码
3)进入容器
docker exec -it pinyougou_mysql /bin/bash
● tomcat部署
1)拉取镜像
2)创建tomcat容器
docker run -di --name=pinyougou_tomcat -p 9000:8080
-v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:7-jre7
● nginx部署
docker run -di --name nginx -p 80:80 -v /data/nginx/conf:/etc/nginx -v /data/nginx/html:/usr/share/nginx/html nginx
● redis部署
docker run -di --name=pinyougou_redis -p 6379:6379 redis
4、备份与迁移
● 容器保存为镜像
docker commit pinyougou_nginx mynginx
前者是容器名,后者是镜像名
● 将镜像备份为一个文件
docker save -o mynginx.tar mynginx
● 从文件恢复镜像
docker load -i mynginx.tar