Linux环境下Docker的使用

Docker服务本操作

启动docker服务

systemctl start docker

查看docker状态

systemctl status docker

设置docker开机自启

systemctl enable docker

禁用docker开机自启

systemctl disable docker

重新启动docker服务

systemctl restart docker

查看docker信息

systemctl info

停止docker 服务

systemctl stop docker

docker镜像加速

修改配置文件 /etc/docker/daemon.json
1.

cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}
EOF

Docker镜像操作实践

下载镜像

docker pull hello-world

离线导入镜像

  1. 将镜像文件保存在文件中
  2. 进入镜像文件所在的位置cd 文件所在位置
  3. 镜像导入 docker load <hello-world.tar.gz

查看镜像历史

docker history hello-world

删除镜像文件

docker image rm hello-world

导出镜像操作

docker save hello-world | gzip > hello-world.tar.gz

运行镜像文件

docker run hello-world

Docker 容器操作实践

下载镜像

docker pull centos:7

查看镜像文件
docker images

创建并启动镜像

docker run -it xxx bash
其中
1)xxxx–镜像名或者image id的前几位
2)-it 这是两个参数(-i表示交互操作,-t 表示终端)
3) bash 表示进入操作终端,基于交互式进行相关操作

查看docker中的容器

  1. 查看docker运行中的容器
    docker ps
  2. 查看docker 运行中的所有容器
    docker ps -a

查看容器日志信息

  1. 查看docker运行中的容器
    docker ps
  2. 查看docker 运行中的所有容器
    docker container logs 802
    802为容器的IP

停止或重启容器

  1. 停止运行的容器
  2. docker container stop 802
  3. 重启容器
  4. docker container restart 802

进入指定容器

docker exec -it 803 bash #803为容器id

退出容器

exit

删除容器

docker container rm 802

Docker 数据管理实践

在容器中管理数据只要有两种方式

  1. 挂载主机目录(Bind mounts)最常用(docker run -v宿主机目录: 容器目录)
  2. 数据卷(Volumes)

数据卷操作

  1. 创建数据卷
    docker volume create container-vol
  2. 查看所有数据卷
    docker volume ls
    查看指定数据卷的信息
    docker volume ls
  3. 启动挂载数据卷的容器
    docekr run -it -v container-vol:/root centos:7 bash
  4. 删除数据卷(如果数据卷被容器使用则无法删除)
    docker volume rm container-vol
    删除无主数据卷
    docker volume prune

挂载主机目录

docker volume prune

其中
1) /usr/app:为宿主机目录
2)/opt/app:为启动容器
3) -v用于指定挂载目录,如果本地目录不存在 docker会自动为你按照挂载目录进行目录的创建

查看挂载目录信息
docker inspect 91a # 91a为容器id

Dockerfile及镜像制作实践

  1. 编写from 语句
    from centos:7
  2. 通过add命令将宿主机中的压缩包传入镜像容器中的指定目录,并同时解压缩
    add 压缩包 /usr/local/docker
  3. 设置环境变量
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \ 
PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
  1. 指定命令行操作
    CMD ['bash']
  2. 使用dockerfile构建镜像
    docker build -t jdk:8 . #注意不要丢掉点 .

运行镜像文件

docker run -it jdk:8 bash

  1. 将sentinel拷贝宿主机指定目录
  2. 启动镜像容器,通过Java执行运行web 服务
-v /root/servers:/usr/sca  \ 
jdk:8 java -jar /usr/sca/sentinel-dashboard-1.8.0.jar

Docker 镜像安装实践

安装MySQL数据库

  1. 拉取指定版本
    docker pull mysql:8.0.23
  2. 检查mysql镜像
    docker images
  3. 启动运行mysql镜像
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23

离线安装mysql

  1. 进入

登录mysql 服务

  1. 进入容器
    sudo docker exec -it mysql bash
  2. 登录,一定要先进入mysql
    mysql -uroot -proot

停止和启动mysql服务

  1. 停止mysql服务
    docker stop mysql
  2. 启动mysql服务
    docker start mysql
  3. 设置开机自启
    docker update mysql --restart=always

安装Redis数据库

安装步骤

  1. 下载镜像文件
    docker pull redis

  2. 准备配置文件

  3. 创建redis 实例并启动

  4. 查看正在运行的进程

访问redis服务器

步骤:

  1. 控制台直接连接redis测试

  2. 检测redis版本

  3. 登录redis

安装Nginx代理

安装步骤

  1. 拉取Nginx镜像

  2. 查看images镜像

  3. 创建数据卷

  4. 启动Nginx 服务

访问Nginx服务

安装Nacos组件

安装步骤

  1. 拉取nacos

  2. mysql中执行nacos的sql脚本文件
    (1) 将文件nacos-mysql.sql这个文件可以从code服务器下载,拷贝到mysql容器中的宿主机对应的挂载目录(可通过·docker inspect mysql查看mysql的挂载)
    (2)在Linux环境下启动并登录
    1)进入mysql 容器(前提是mysql已经启动)
    a
    2)登录mysql
    a
    3)通过source指令运行容器目录下的sql文件
    a

  3. 创建并启动nacos 容器
    a

  4. 检查nacos服务

访问nacos服务

启动nacos,然后在windows中输入http://ip:port/nacos方式进行访问测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值