服务相关命令
1.启动docket
systemctl start docker
2.停止docker服务
systemctl stop docker
3.重启docker服务
systemctl status docker
4.查看docket服务状态
systemctl status docker
5.设置开机启动docker服务
system enable docker
镜像命令:
1.查镜像:查看本地所有的镜像
docker images
docker images -q #查看所有的镜像的id
2.搜索镜像:从网络中查找需要的镜像
docker serach 镜像名称
3.拉取镜像:从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定规则是最新版本,如果不知道镜像版本,可以去docket hub 搜索对应镜像查看
docker pull 镜像名称
4.删除镜像:删除本地镜像
docker rmi 镜像id#删除制定本地镜像
docker rmi `docker images -q` #删除所有本地镜像
容器相关命令:
1.创建容器
创建容器:docker run -it --name=c1 centos:7 /bin/bash
参数-i 表示容器一直运行着,-t表示分配一个终端, 创建以后,顺便就登陆到容器了,当ssh退出时,容器就会关闭
docker run -id --name=c2 centos:7
参数-d表示后台运行,创建以后,不会进入容器,通过ssh进入容器以后,退出容器,容器不会关闭
参数:
-i:保持容器运行,通常与-t同时使用.加入it这2个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-d:以守护(后台)模式运行容器.创建一个容器在后台运行,需要使用docker exec 进入容器.退出后,容器不会关闭
-it:创建的容器一般称为交互式容器,-id创建的容器一般称为守护式容器
--name:为创建的容器命名
2.查看容器
docker ps:查看正在运行的容器
docker ps -a#查看所有容器
3.进入容器:
docker exec 参数#退出容器,容器不会关闭
docker exec -it c2 /bin/bash
4.启动容器
docker start 容器名称
docker start c2
5.关闭容器
docker stop 容器名称
docker stop c2
6.删除容器
如果容器是运行状态则删除失败,需要停止容器才能删除
docker rm c2
删除所有容器
docker rm `docker ps -aq`
7.查看容器信息
docker inspect 容器名称
docker inspect c2
容器的数据卷
数据卷:
- .是宿主机中的一个目录或者文件
- 当容器目录和数据卷目录绑定后,对方的修改会立刻同步
- 一个数据卷可以被多个容器同时挂载
- 一个同期也可以被挂载多个数据卷
配置数据卷:
创建启动容器时,使用-v参数 设置数据卷
docker run ... -v 所主机目录文件:容器内目录文件...
注意事项:
1.目录必须是绝对路径
2.如果目录不存在,会自动创建
3.可以挂载多个数据卷
例子:docker run -it --name=c1 -v /root/data:/root/data_contailnet centos:7 /bin/bash
配置数据卷容器:
1.创建启动c3数据卷容器,使用-v参数设置数据卷
docket run -it --name=3 -volumes centos:7 /bin/sh
2.创建启动c1 c2容器,使用--volumes-from参数设置数据卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-form c3 centos:7 /bin/bash
部署mysql:
1.搜索mysql镜像
docker search mysql
2.拉取mysql镜像
docker pull mysql:5.6
3.创建容器,设置端口映射,目录映射
#在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
运行mysql:
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/confi:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
参数说明:
-p 3307:3306:将容器的3306端口映射到宿主机的3307端口
-v $PWD/conf:/etc/myql/conf.d:将主机当前目录下的conf/my.cnf古早到容器的/etc/mysql/my.cnf配置目录
-v$PWD/logs:/logs:将主机当前目录下的logs目录股灾到容器的/logs日志目录
-v$PWD/data:/var/lig/myql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql数据目录
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
Tomcat部署:
1.搜索tomcat镜像
docker search tomcat
2.拉取tomcat镜像
docker pull tomcat
3.创建容器,设置端口映射,目录映射
#在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
4.启动tomcat
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
参数说明:
-p8080:8080:将容器的8080端口映射到主机的8080端口
-v $PWD:/usr/local/Tomcat/webapps:将主机中当前目录挂载到当前容器的webapps
Nginx部署:
1.搜索nginx镜像
docker search nginx
2.拉取nginx 镜像
docker pull nginx
3.创建容器,设置端口映射,目录映射
#在/root/目录下创建nginx目录用于纯粹nginx数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
#在~/nginx/conf下创建nginx.conf文件,黏贴下面内容
vim nginx.conf
docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html
nginx
参数说明:
-p 80:80:将容器的80端口映射到宿主机的80端口
-v $PWD/config/nginx.conf:/etc/nginx/nginx.conf :将主机当前目录下的/conf/nginx.conf挂载到容器的:/etc/nginx/nginx.conff配置目录
-v $PWD/logs:/var/log/nginx:将主机当前目录下的logs目录股灾到容器的/var/log/nginx日志目录
部署Redis
1.搜索redis镜像
docker search redis
2.拉取redis镜像
docker pull redis:5.0
3.创建容器,设置端口映射
docker run -id --name=c_redis -p 6379:6379 redis:5.0
4,使用外部机器连接redis
./redis-cli.exe -h 192.168.149.135 -p 6379









