Docker 持续跟新中.....

Docker学习笔记

1.Docket的基本的命令

1.docket信息相关的指令
   systemctl   start       docker      #启动docker
   systemctl   stop       docker       #关闭docker
   systemctl   restart    docker       #重启docker
   systemctl   enable     docker       #设置开机启动
   systemctl   disable    docker       #关闭docker的开启启动
   systemctl   daemon-reload           #重新加载docker的镜像配置
   docker      version                 #查看docker的版本的信息
   docker      info                    #查看docker信息

2.docker镜像相关的信息
   #查看docker的镜像
   docker  images    
   #运行一个hello-world镜像,查看docker的安装运行情况
    docker  run   hello-world  

第一步:启动docker
sudo systemctl start docker

第二步:设置 docker 开机启动
sudo systemctl enable docker

第三步:镜像加速
由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json
下面命令直接生成文件 daemon.json
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
说明:在执行如上指令时,保证你的登录用户为root管理员用户。

第四步:重新加载docker配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker

第五步:查看镜像配置
docker info

第六步:运行 hello-world 镜像,验证 docker
sudo docker run hello-world

第七步:检查docker 镜像
Docker images

第八步:检查已启动的docker 服务 (正在运行的) 
Docker ps

假如希望查看所有镜像,包含没有运行的镜像容器,可以执行如下指令:
Docker ps –all

第九步:停止docker服务
docker stop 服务id

第十步:删除docker 镜像
docker image rm hello-world

注意:假如镜像被占用着是不可以直接被删除的,需要先删除应用此镜像的容器,例如
docker container rm 容器名或容器id

1运行docker镜像的时候,如果docker容器中有该镜像,则会通过镜像创建docker容器当中,但是当该镜像不存在的时候,此时会从仓库中先pull拉取到镜像文件然后再创建一个docker容器来运行该镜像

2自己配置一个docker镜像

  1.首先下载一个 centos镜像
  docker   pull  centos:7
  
  2.可以查看一下镜像是否下载完成
  docker   images

  3.通过docker启动运行 centos7镜像
  docker run -it xxxx bash
  xxxx - 镜像名, 或 image id 的前几位
  1)-it 这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。
        我们这里打算进入 bash , 执行一些命令并查看返回结果,因此我们需要交互式终端。
  2)bash 放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
  3)docker run -dit centos:7 后台运行
4)docker container logs 802

4.运行一个容器  docker container stop 802

5.重启一个容器 docker container restart 802

6.docker container logs  #802  查看容器中的日志的输出的结果

7.指定进行运行的容器当中:docker exec -it 802 bash #802为容器id

8.删除所有的已经停止的docker容器 docker  container  prune
注意:该命令仅仅在测试环境当中去用,真正的生产环境中不要用

3.在容器中管理数据主要有两种方式:

  • 挂载主机目录 (Bind mounts)-最常用 (docker run –v 宿主机目录:容器目录)
  • 数据卷(Volumes):数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间共享和重用,默认会一直存在,即使容器被删除。

3.1创建数据卷步骤

1.首先在宿主机创建一个数据卷
  docker volume create container-vol
2.查看该数据卷所对应的目录
docker volume inspect container-vol
[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/container-vol/_data",
        "Name": "container-vol",
        "Options": {},
        "Scope": "local"
    }
]
可以查看数据卷对应的宿主的地址
"Mountpoint": "/var/lib/docker/volumes/container-vol/_data"

3.在容器中将容器的数据卷与宿主的数据卷进行关联
docker  run -it -v container-vol:/root centos:7 bash

4.可以创建一个文件
touch  hello.java

5.然后退出容器在宿主机的
"Mountpoint": "/var/lib/docker/volumes/container-vol/_data",  该目录可以找到改文件

4.Docker的镜像文件的安装

4.1安装mysql

1.拉取下载镜像文件
sudo docker pull mysql:8.0.23

2.查看镜像文件是否下载完成了
sudo docker images

3.启动mysql的镜像
sudo docker run -p 3306:3306 --name 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

ALTER USER 'tony'@'%' IDENTIFIED BY 'tony' PASSWORD EXPIRE NEVER
ALTER USER 'tony'@'%' IDENTIFIED WITH mysql_native_password BY 'tony';
FLUSH  PRIVILEGES;

4.2安装jdk

1.导入jdk的安装包到linux的宿主机的
  将jdk放在 /root/setups
  
2现在,以centos7为基础,构建oracle jdk8的镜像,首先通过vim打开Dockerfile,这个文件不存在会自动创建。然后进入编辑模式(按i字母),在编辑模式下可以拷贝如下语句(自己手动写也可以,但确保写的单词正确,大小写,空格)。
第一步:编写FROM语句(关键字一定要大写,例如FROM不能写小写)

FROM centos:7

第二步:通过ADD命令将宿主机中的压缩包传入镜像容器中的指定目录,并同时解压缩

ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker

第三步:设置环境变量(通过ENV关键字实现,目录启动容器中的目录)

ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \
    PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH

第四步:指定命令行操作(所有指令与后面内容要有空格)

CMD [‘bash’]

3.制作镜像
docker build -t jdk:8 .

4.导出镜像文件
docker save  jdk:8 | gzip > jdk8.tar.gz

5镜像导入(要在jdk8.tar.gz文件所在目录下执行)
docker load < jdk8.tar.gz 

6.运行镜像文件
docker run  jdk:8 bash

补充知识:vim是vi的升级版,linux的内核的时候用vi才会生效
二

4.4安装sentinel

1.首先将sentinel的jar拷贝相关的目录
   比如/root/sca/下,
2.运行命令
docker run -dit  -p 8180:8080 --name sentinel -v /root/servers:/usr/sca jdk:8 java -jar /usr/sca/sentinel-dashboard-1.8.0.jar

4.5的安装redis

    1.首先在宿主机建立一个目录
    /usr/local/docker/redis01/conf/redis.conf
    2.宿主的目录创建一个redis.conf的配置文件
    touch  redis.conf
    
    3.运行redis镜像
    sudo docker run -p 6379:6379 --name redis01 \
	-v /usr/local/docker/redis01/data:/data \
	-v /usr/local/docker/redis01/conf/redis.conf:/etc/redis/redis.conf \
	-d redis redis-server /etc/redis/redis.conf

   4.进入redis的docker容器中
   docker exec -it redis bash

   5.查看 redis的版本
   redis-server   -v  查看redis的版本
   
   6.通过redis的客户端连接redis服务器
   redis-cli  默认的情况下是不需要密码的

   7.可以通过redis设置一些数据
   然后通过命令 save 进行数据的持久化
   
   8.去redis官网安装下载redis.conf的配置文件
      然后再去覆盖宿主机的redis.conf的配置文件

作业制作一个sentinel的镜像

1.修改dockefile文件内容如下
FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz  /usr/local/
ADD sentinel-dashboard-1.8.0.jar  /usr/local/
ENV JAVA_HOME=/usr/local/jdk1.8.0_51 \
 PATH=/usr/local/jdk1.8.0_51/bin:$PATH
EXPOSE 8080
ENTRYPOINT ["java","-jar","/usr/local/sentinel-dashboard-1.8.0.jar"]
==================================================
2.制作sentinel的镜像文件
docker  build -t  sentinel:8

3.docker run -d -p 8180:8080 --name sentinel  \
-v /usr/local/docker/sentinel/logs:/root/logs/csp sentinel:8  .

4.如果发现没有启动,可以查看日志的信息
docker  contariner  logs  sentinel  (或者docker的iid)

5.制作完镜像后,如何查看创建的信息
docker  history  sentinel:8

4.6安装nginx

  注意:一般情况下linux安装的许多的软件默认的情况都是安装在/etc/的目录下
  curl 可以直接获取访问的地址返回的信息
  

  1.pull  拉取nginx镜像
  2.docker run --name nginx –d nginx  运行nginx映射文件
  此时的这种的映射的方法存在一定的弊端,就是没有将docker中的nginx的端口映射到
  宿主机上的端口
  3.source 执行mysq脚本语句

4.7安装nacos

5.docker常见的问题

apt-get update             跟新apt-get
apt install net-tools       # ifconfig    安装ifconfig命令
apt install iputils-ping     # ping      安装ping命令
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值