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
原文地址:https://www.cnblogs.com/naixin007/p/10329749.html