docker一些常用命令

---------------------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 还是在后台运行。

登录守护式容器方式:
docker exec -it 容器名称 (或者容器ID) /bin/bash

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

1.从宿主机拷贝到容器

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

pwd 查看目录

ls 查看目录


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文件上传到容器中

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

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

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

------------------------------------------------------docker的备份的迁移-------------------------------------------

1.把容器从docker保存到宿主机1。
2.再把容器拷贝到宿主机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 J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
ENV path J R E H O M E / b i n : JRE_HOME/bin: JREHOME/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、付费专栏及课程。

余额充值