docker常用命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行centos镜像并进入centos

 docker run -it centos /bin/bash

退出快捷键

ctrl+p+q

进入容器centos(方法一)

docker exec -it 45f5ebe83a3b /bin/bash

进入容器centos(方法二)

docker attach 45f5ebe83a3b

在这里插入图片描述
拷贝容器内的数据到外面linux上

[root@renxh home]# docker cp 45f5ebe83a3b:/home/test1.java  /home
[root@renxh home]# ls
redis  renxh  test1.java  test.java  www

下载nginx

docker pull nginx

启动nginx(将容器的80端口映射到服务器的3333端口,访问3333即可)

docker run -d --name nginx02 -p 3333:80 nginx

自测

curl localhost:3333

下载Tomcat
在这里插入图片描述
下载elasticsearch

[root@renxh home]# docker run -d --name elasticsearch02  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

查看状态

docker stats

下载portainer

[root@renxh home]# docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

访问

http://8.140.185.165:8088/#/init/admin

//-----------------------------第二天------------------------------------------
docker卷的技术,挂载目录(即虚拟机和docker容器共享一个目录)

将本地home下的ceshi目录和容器中的home目录相对应,在任意一个目录创建文件,另一个目录也会有同样的文件(类似vue的双向绑定)

[root@renxh ~]# docker run -it -v /home/ceshi:/home centos /bin/bash
[root@2e308f6d7664 /]# cd home

在这里插入图片描述
启动曾经启动过的容器
在这里插入图片描述
mysql在docker中的数据持久化问题
下载mysql

[root@renxh /]# docker pull mysql:5.7

启动并共用msql文件(linux和docker共用同一个文件)

[root@renxh mysql]# docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql02 mysql:5.7

具名和匿名挂载
匿名挂载:

[root@renxh home]# docker run -d -P --name nginx10 -v /etc/nginx nginx
[root@renxh home]# docker volume ls

具名挂载

[root@renxh home]# docker run -d -P --name nginx11 -v juming-nginx:/etc/nginx nginx
[root@renxh home]# docker volume ls
[root@renxh home]# docker volume inspect juming-nginx

在这里插入图片描述
dockfile的使用
在这里插入图片描述

[root@renxh docker-test-volume]# docker build -f dockerfile1 -t renxh/centos:1.0 .

共享数据

[root@renxh _data]# docker run -it --name docker02 renxh/centos:3.0
[root@renxh docker-test-volume]# docker run -it --name docker03 --volumes-from docker02 renxh/centos:3.0

在这里插入图片描述
编写自己的dockfile

FROM centos
MAINTAINER renxh<renxiaohu@qq.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "----end----"
CMD /bin/bash

在这里插入图片描述

在这里插入图片描述
通过命令进行构建镜像文件
mydockerfile :是自己上面设置的文件
mycentos:0.1:是自己利用上面的文件生成的镜像

[root@renxh dockerfile]# docker build -f mydockerfile -t mycentos:0.1 .

运行镜像文件

[root@renxh dockerfile]# docker run -it mycentos:0.1

查看镜像历史生成记录

[root@renxh dockerfile]# docker history 48df1a9795a4

在这里插入图片描述

自定义tomcat的镜像
在这里插入图片描述

在这里插入图片描述

FROM centos
MAINTAINER renxh<renxiaohu@qq.com>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u291-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.46.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.2_91
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.46
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.46
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.46/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.46/logs/catalina.out
   

构建镜像

[root@renxh renxh]# docker build -t diytomcat2 .

启动

[root@renxh renxh]# docker run -d -p 8080:8080 --name renxhtomcat3 -v /home/renxh/test:/usr/local/apache-tomcat-9.0.46/webapps/test -v /home/renxh/tomcatlogs/:/usr/local/apache-tomcat-9.0.46/logs diytomcat2 

进入容器

[root@renxh renxh]# docker exec -it c691dd83de29 /bin/bash

删除所有镜像

[root@renxh ~]# docker rmi -f $(docker images -aq)

删除所有容器

[root@renxh ~]# docker rm -f $(docker ps -aq)

自定义网络

[root@renxh ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

进入网络

[root@renxh ~]# docker network inspect mynet

两个容器可以ping通,不用依赖–link

[root@renxh ~]# docker run -d -P --name tomcat-net-01 --net mynet tomcat
97626509afcb2dbb3ef03c339b32d2a527ad3acf9865a84b7f4c05effb945f2b
[root@renxh ~]# docker run -d -P --name tomcat-net-02 --net mynet tomcat
f14fff3e11f0799ba5de24ad6b563ea358882c14edc993b1657417b895239140
[root@renxh ~]# docker exec -it tomcat-net-01 ping tomcat-net-02
PING tomcat-net-02 (192.168.0.3) 56(84) bytes of data.
64 bytes from tomcat-net-02.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.092 ms
64 bytes from tomcat-net-02.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.071 ms
^C
--- tomcat-net-02 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1ms
rtt min/avg/max/mdev = 0.071/0.081/0.092/0.013 ms

把其他容器加入到这个网关里,就可以ping通

[root@renxh ~]# docker network connect tomcat01 mynet

在这里插入图片描述
springboot微服务打包成docker镜像
1.编写Dockerfile
在这里插入图片描述
2.打包jar包并和Dockerfile一起上传
在这里插入图片描述
3.打包成镜像

[root@renxh idea]# docker build -t renxh666 .

4.启动镜像为容器

[root@renxh idea]# docker run -d -p 8080:8080 --name renxh-web renxh666

5.访问即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

friover

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值