Docker常用命令【连载】

目录

1.Docker运行机制

2.1:Docker离线安装

2.2:Docker在线安装

3.Docker服务基本操作

4.镜像基本操作

5.容器(container)基本操作

6.Docker数据管理实践

7.Docker镜像制作实践

8.构建Sentinel镜像

9.多组镜像安装

10.容器互联实践


创建文件夹: mkdir -p [文件夹]
清屏命令:    clear
创建文本:       touch   xxx.txt


1.Docker运行机制

【1】docker     pull      执行过程:


1)客户端将指令发送给docker daemon(守护进程,后台程序)
2)docker daemon 先检查本地images中有没有相关的镜像
3)如果本地没有相关的镜像,则向镜像服务器请求,将远程镜像下载到本地

【2】docker    run      执行过程:


检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系(简版linux系统),并在只读的镜像层外面挂载一层可读写层
从宿主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器
执行用户指定的应用程序


2.1:Docker离线安装

1.为 install.sh添加执行权限     chmod +x install.sh
2. 启动安装                               ./install.sh -f docker-20.10.6.tgz
3.检查信息:                            docker info
4.检查版本信息                         docker -v

2.2:Docker在线安装

第一步:安装一组工具     sudo yum install -y yum-utils 
第二步:设置 yum 仓库地址    
(1)sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

(2)sudo yum-config-manager \
     --add-repo \
     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步:更新 yum 缓存      sudo yum makecache fast #yum 是包管理器
第四步:安装新版 docker    sudo yum install -y docker-ce docker-ce-cli containerd.io


3.Docker服务基本操作


查看Docker状态     systemctl status docker
停止docker服务     systemctl stop docker
启动docker服务     systemctl start docker
设置Docker开机自启     systemctl enable docker
禁用Docker开机自启      systemctl disable docker
重新启动Docker服务      systemctl restart   docker
查看Docker信息             docker info
查看docker info中具体key的信息   docker info | grep 'Docker Root Dir:'
查看版本                  docker -v 
删除docker              yum -y remove docker.x86_64 docker

4.镜像基本操作


下载镜像            docker pull  nginx
浏览镜像文件     docker images
查看镜像详情     docker  inspect nginx
查看镜像历史      docker  history  hello-world 
导出镜像文件      docker save  hello-world | gzip > hello-world.tar.gz  
删除镜像文件    docker image rm hello-world
导入镜像操作    docker load < hello-world.tar.gz  
运行镜像文件    docker run hello-world

 

 

5.容器(container)基本操作


下载镜像(Image)                                        docker pull centos:7    
创建并启动容器(Container)                        docker run  -it   xxx bash
查看Docker中所有容器(Container)            docker ps
查看容器日志(logs)信息                              docker  container logs xxx
停止(stop)或重启(Restart)容器(Container) docker restart  xxx
进入(exec)指定容器(Container)                  docker exec -it xxx bash
从容器(Container)中退出(exit)                    exit
删除(rm)容器(Container)                            docker rm  xxx
清除终止容器                                               docker  container prune

6.Docker数据管理实践


概述
数据卷   数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间共享和重用,默认会一直存在,即使容器被删除。
   

     
数据卷操作 :

 
创建数据卷               docker volume create xxxx
查看数据卷               docker volume inspect xxx
删除数据卷               docker volume rm xxxx
清理无主数据卷        docker volume prune
挂载数据卷               docker run -it -v xxx:/root mysql bash

挂载主机目录            docker run -it -v /usr/app:/username/app mysql bash
查看目录信息            docker inspect xxx(容器id)

7.Docker镜像制作实践


创建Dockerfile文件                   touch Dockerfile
创建JDK镜像文件              
(1)  vim Dockerfile
(2)FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
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 run -it jdk:8 bash
运行JDK镜像(image)文件        docker run -it jdk:8 bash
基于JDK镜像启动sentinel
(1)将sentinel拷贝宿主机指定目录,例如/root/servers目录
(2)
docker run -d -p 8180:8080 --name sentinel \
-v /root/servers:/usr/sca \
jdk:8 java -jar /usr/sca/sentinel-dashboard-1.8.1.jar

8.构建Sentinel镜像


  (1)Dockerfile   jdk-8u51-linux-x64.tar.gz 和 sentinel-dashboard-1.8.1.jar

(2)FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz  /usr/local/
ADD sentinel-dashboard-1.8.1.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.1.jar"]


(3)生成镜像    docker build -t  sentinel:8 . 
(4)端口映射后台运行sentinel容器:

         docker run -d --name sentinel8181 -p 8181:8080 sentinel:8 

9.多组镜像安装

安装MySql数据库:  docker pull mysql:8.0.23


创建并启动容器步骤          
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
         
(1)登陆mysql服务                   mysql -uroot -proot
(2)停止和启动mysql服务        docker stop mysql ;docker start mysql
(3)开机自启mysql                   docker update mysql  --restrat=always    
(4)导入sql数据                            source  /etc/mysql/nacos-mysql.sql

安装Redis数据库                docker pull redis


创建redis配置文件目录      mkdir -p /usr/local/docker/redis01/conf
在配置文件录下创建redis.conf配置文件             touch /usr/local/docker/redis01/conf/redis.conf
创建并启动容器 
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 

(1)访问redis服务器                    docker exec -it redis01 bash
(2)第二步:检测redis 版本        redis-server  -v
(3)登录redis                               redis-cli
(4)停止和启动redis服务             docker   stop/start   redis01

安装Nginx代理                      docker pull nginx    


创建并启动容器     
(1)创建数据卷                    docker volume create nginx-vol
(2)启动                               docker run --name nginx  -p 80:80 -v nginx-vol:/etc/nginx -d             nginx 

 (3)停止和启动nginx服务             docker  stop/start   nginx

安装Nacos组件                      docker pull nacos/nacos-server:1.4.1


安装启动容器步骤                
   docker run  \
-e TZ="Asia/Shanghai" \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.168.126.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--name nacos \
--restart=always \
-d nacos/nacos-server:1.4.1


(1)检查nacos服务         docker ps
(2)访问nacos日志           docker container logs nacos       
(3)Nacos 与 MySQL 通讯分析
(4)停止和启动nacos服务    docker stop/start nacos
 

 10.容器互联实践


初始化网路

  
架构设计       
新建网络      docker network  create -d bridge  t-net
查看网络信息    docker network ls           ;docker inspect    xxx


实现容器互联  

 
docker run -it --name app2 --network t-net centos:7
docker run -it --name app1 --network t-net centos:7

创建容器


测试网络互通         ping app1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值