docker 2

---------------------docker----------------------
systemctl status   docker   查看docker状态 
systemctl start    docker   启动docker
systemctl restart  docker   重启docker

systemctl stop     docker   停止docker

systemctl enable   docker   自启docker

docker info                 docker信息

ps -ef | grep docker        查看进程
 
docker --help               查看docker命令帮助文档









-------------------image---------------------------

docker search 镜像名称

docker images              查看本地镜像    REPOSITORY  镜像名称  TAG 版本  IMAGE ID 镜像ID  CREATED 创建镜像的时间  SIZE 大小 
                            
docker pull mysql:5.7 ...................... 拉取镜像  网址 hub.docker.com


 删除镜像
docker rmi 镜像ID  
docker rmi 镜像名字  (镜像名字 IMAGE----->   名字:版本)

删除所有镜像(删库跑路作用!)
docker rmi `docker images -q`










----------------------容器------------------------

docker ps -l      查看最后一次运行的容器

docker ps         查看运行的容器

docker ps   -a    查看所有的容器







docker exec  -it  [容器名|容器ID]   /bin/bash  进入容器(交互式和守护式通用的!)

docker stop $(docker ps -q)         停用所有运行的容器

docker rm  $(docker ps -aq)         删除全部容器

docker rm [容器名|容器ID]            删除单个容器

docker stop $(docker ps -q)  &  docker rm  $(docker ps -aq)   一条命令实现停止并删除全部容器

docker start [容器名|容器ID]  启动容器

docker status [容器名|容器ID]  查看容器状态

docker logs -f [容器名|容器ID]  查看容器日志





==================交互式容器========================

docker run -it --name=mycentos7-1(取什么名字)  centos:7 (IMAGE 镜像名字:TAG)    交互式容器创建  创建完即运行!退出即停止!  
             
exit 交互式容器退出(退出会停止)






==================守护式容器======================
1.创建完成后。马上在后台运行

docker run -di --name=mysql(取什么名字)  centos:7 (IMAGE 镜像名字或者ID)

2.不会进入容器内部!
3.退出 exit 还是在后台运行。










==========================容器拷贝文件=================================

1.从宿主机拷贝到容器    

docker cp 宿主机文件 容器id【名称】:/root 【拷到容器的哪个位置】

pwd 查看目录

ls  查看目录
docker exec  -it  [容器名|容器ID]  /bin/bash  进入容器

-----------------------------------------------------------------
2.从容器拷贝到宿主机

docker cp 容器id:拷贝的文件 ./  【宿主机保存的位置】

cat 文件名字    查看txt内容!

总结:容器停止状态也可以进行文件拷贝!










--------------------------------挂载------------------------------------------


#docker 和宿主机的目录或者文件挂载  

#宿主机的目录或者文件改变  容器也会跟着变

docker images 

###目录挂载

docker run -it --name=mycentos7_3 -v /root/feifei/:/root/ 【要挂载目录】   centos:7
 【守护式  -di】




---------------------------查看ip-----------------------

docker inspect [容器名|容器ID]

> docker inspect tomcat 
> docker inspect nginx
> docker inspect [容器名|容器ID] | grep IPAddress






---------------删除--------------------
正在运行的容器不能直接删。(如果要删除,强制删除,不推荐)
docker stop [容器名|容器ID] 停止容器

docker rm [容器名|容器ID]   正常删除

docker rm -f [容器名|容器ID] 强制删除








======================
创建的容器都需要【统一】
注意:1.需要开放端口:
      2.或者关闭防火墙

防火墙:
systemctl  start firewalld    开启防火墙
systemctl  stop  firewalld    关闭防火墙
systemctl  enable firewalld   开启自启动防火墙
systemctl  disable firewalld  关闭开机自启动防火墙
systemctl  status firewalld   显示防火墙状态

开放端口:
firewall-cmd  --zone=public  --add-port=[端口]/tcp  --permanent       永久的向公共区域添加端口号

 firewall-cmd  --reload   重新加载新的规则

 firewall-cmd  --list-all   显示所有添加到端口号







------------------------------创建mysql容器----------------------------------------


细节:1.创建mysql容器需要映射端口。默认是3306
      2.需要指定用户的root密码: -e MYSQL ROOT PASSWORD=123456     #大写 可以看官网  

docker images

docker run  -di --name=[取的名字]   -p  3306:3306 -e MYSQL_ROOT_PASSWORD=[密码]  [容器名|容器ID]
                             
-p  3306:3306 映射端口 宿主机的端口:容器写死端口 
 
-e   环境变量:   -e MYSQL ROOT PASSWORD=[密码]

注意:1.需要开放端口:
      2.或者关闭防火墙








---------------------------------创建tomcat------------------------------------
docker run  -di --name=[取的名字]   -p  8080:8080  [容器名|容器ID]   创建tomcat容器


docker logs -f [容器名|容器ID]                      查看所有日志
docker logs -f --tail=[行数]    [容器名|容器ID]      查看最后[行数]日志

【注意】:  如果需要跑项目 可以通过拷贝项目放到容器   或者挂载目录










-----------------------------------创建Nginx-------------------------------------------
docker pull nginx   默认拉取的是最新的

docker run -di --name=[取的名字]  -p 80:80  [容器名|容器ID]


ll 目录 查看这个目录下的所有目录和文件      ll ./root/






---------------------------------------创建redis-----------------------------------------

docker pull redis 拉取最新

docker run -di --name=[取的名字]  -p 6379:6379  [容器名|容器ID]




【redis注意:生产环境: 不得用   key *---------------------------------------------rabbitmq-----------------------------------------------------

docker images

docker pull rabbitmq:management


docker run -di --name=[取的名字]  -p 15671:15671  -p 15672:15672 -p 4369:4369  -p 5671:5671
  -p 5672:5672 -p 25672:25672   [容器名|容器ID]







-----------------------------------es----------------------------------------------------

拉取找官网

docker images
docker run -di --name=[取的名字]  -p 9200:9200 -p 9300:9300  [容器名|容器ID]

跨域:
docker exec -it  [容器名|容器ID]  /bin/bash

ls 查看
把yml文件上传到容器中




5.
docker cp  ./elasticsearch.yml [上传的文件]   [容器名|容器ID] :【拷到容器的哪个位置】

docker logs -f [容器名|容器ID]

linux系统调优
修改 /etc/security/limits.conf 追加内容










------------------------------------------------------docker的备份的迁移------------------
1.把容器从docker保存到宿主机12.再把容器拷贝到宿主机2
3.再使用命令把容器 导入到宿主机2的docker中

(1)先停掉

(2) 先把容器变成镜像   docker commit [容器名|容器ID]  新镜像名字

(3)保存   docker save -o   保存的文件  新镜像名字    ######  docker save -o  mynginx.tar  mynginx2

(4) 把tar复制到宿主机2 然后把tar变成镜像    docker load -i ./mynginx.tar   把tar文件变成镜像

(5) 创建容器 docker run -di --name=[取的名字]  -p 端口:端口   [容器名|容器ID]







 
-----------------------------------------------构建镜像-----------------------------------
mikdir docker  创建目录

--Dockerfile  脚本 用来创建镜像

touch Dockerfile  创建Dockerfile 文件

把jdk1.8放到docker目录
vi Dockerfile  
FROM centos:7   #基于centos7上创建一个centos7

MAINTAINER thh #名字

RUN mkdir /usr/root   #容器中创建目录

#拷贝文件到容器中并自动解压
ADD jdk压缩包   /usr/root/

#设置工作目录
WORKDIR  /usr/root

#设置jdk的环境变量
ENV JAVA_HOME /usr/root/jdk....
ENV JRE_HOME /usr/root/jdk.../jre

ENV  path $JAVA_HOME/bin:$PATH 
ENV  path $JRE_HOME/bin:$PATH 

:wq  保存


docker build -t-'myjdk1.8'


把jar拷贝到容器中

然后可以跑起来

java -jar    [jar包名字]





----------------------------------------私服搭建------------------------------------------
docker pull registry  拉取私服

docker run -di --name=[取的名字]  -p5000:5000  [镜像名字|镜像id]

1.设置ip
修改 daemon.json
vi /etc/docker/daemon.json

{"innsecure-registries:[192.168.138.128:5000]"}


systemctl restart docker 重启docker


2.镜像打标签

1.标记次镜像为私服镜像
docker tag jdk1.8   192.168.138.128:5000/jdk1.8

2.再次启动私服容器
docker  start registry

(3.)推上去(上传)
docker push registry 192.168.138.128:5000/jdk1.8


(4)拉下来(下载)

docker pull registry 192.168.138.128:5000/jdk1.8

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值