docker部署与问题总结

docker部署与问题总结

环境Vmware

这个地方只是做下安装vmware备注:

  • 版本 15.5.6 build-16341506
  • linux 版本centos7.8
  • shell连接工具:finalShell

刚安装时,突然发现shell工具连接不到虚拟机里,解决方案:使虚拟机使用NAT方式,然后在 centos7 /etc/sysconfig/network-scripts\ifcfg-ens33

ONBOOT="yes"
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLn="no"
BOOTPROTO="dhcpOXY_METHOD="none"
BROWSER_ONLY="no"
#这里使用的是dhcp 自动获取ip地址的方式,我也使用static 但是我测试还有点问题,等以后我研究清楚了我再更#新下问题
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c3233521-76e5-49d4-a65a-e7ab436cfd01"
DEVICE="ens33"
ONBOOT="yes"

此时应该可以链接到外网,然后我们使用命令 ip addr 查看当前虚拟机ens33的 ip地址,
然后在宿主机里面的网络设置里面的 vmnet8里面 设置与虚拟机当前ip地址同一频段即可。现在再从shell工具即可链接了。

docker环境搭建

  1. 安装docker : yum install docker
  2. 查看docker版本: docker -v
  3. 启动docker:systemctl start docker
  4. 停止docker:systemctl stop docker
  5. 重启docker:systemctl restart docker
  6. 查看docker状态:systemctl status docker
  7. 开机启动:systemctl enable docker
  8. 其他命令:docker info / docker --help

docker镜像创建及操作

  • 搜索镜像: docker search 镜像名称
    ustc镜像 加速拉取docker镜像的下载速度。
    修改文件:vi /etc/docker/daemon.json 然后重启docker服务
			{
			"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
			}
  • 拉取镜像: docker pull 镜像名称
  • 查看安装的镜像: docker images
  • 删除镜像: docker rmi $IMAGE_ID:删除指定镜像/ docker rmi docker images -q:删除所有镜像

docker 容器创建及操作

  • 命令参数简介:
     创建容器常用的参数说明:
     创建容器命令:docker run
     -i:表示运行容器
     -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
     --name :为创建的容器命名。
     -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
     -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
     -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    -rm: 执行docker run命令带–rm命令选项,等价于在容器退出后,执行docker rm -v。也就是每次关闭,docker会自动清除容器。

  • 交互性容器:docker run -it --name=mycentos centos:7 /bin/bash
    查看运行状态:docker ps
    -a查看所有容器,-l查看最后启动的容器,docker ps -f status=exited查看关闭的容器
    此时使用exit 便退出了容器,也同时关闭了容器,所以平时不怎么使用交互性容器。

  • 守护式容器(后台运行)
    docker run -di -p8076 8076 --name=mycentos centos:7
    注意:-p放在最后可能会出现异常,所以我放在了-di后面,这样可以正常运行。
    登录容器: docker exec -it 容器名称或id /bin/bash

  • 容器重新启动:docker start/restart 容器名称

  • 容器关闭: docker stop 容器名称

  • 删除容器: docker rm $CONTAINER_ID/NAME/ 删除所有docker rm docker ps -a -q

容器备份 恢复与迁移

  • 容器生成镜像: docker commit 容器名称 生成的镜像名称
  • 备份 docker save -o mynginx.tar mynginx
    -o是输出的文件名称
  • 恢复 docker load -i mynginx.tar

其他

  1. nginx 容器 nginx配置文件在:/etc/nginx/nginx.conf
    可能容器内无法使用vim命令所以需要安装vim 工具:
    apt-get update 完成之后 apt-get install vim
    除了使用vim编辑配置文件外,还可以挂载宿主机覆盖容器的配置文件:

    docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx
    

    –name 给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器

    -p 映射端口,将docker宿主机的80端口和容器的80端口进行绑定

    -v 挂载文件用的,第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,第二个表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面

    第三个-v 表示的和第一个-v意思一样的。

    -d 表示启动的是哪个镜像

  2. 安装jdk8
    yum install java-1.8.0-openjdk.x86_64

  3. 容器内部拷贝文件: docker cp 本地文件地址 容器id:容器拷贝的地址

  4. mysql
    - 默认拉取是mysql8
    docker run -di --name pinyougou_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
    -e是环境变量

    备注:
    - ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;这里的password是你正在使用的密码
    
    - ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';#更新一下用户的密码这里的password为你修改的新密码。
    
    - FLUSH PRIVILEGES; #刷新权限,使自己的修改生效。
    - use mysql;
    -  alter user 'root'@'%' identified by '密码' password expire never;
    - alter user 'root'@'%' identified with mysql_native_password by '新密码';
    - flush privileges;
    完成
    
  5. 防火墙
    查看状态:firewall-cmd --state
    停止:systemctl stop firewalld.service
    禁止:systemctl disable firewalld.service

  6. 查看端口
    如果没有安装netstat:yum install net-tools
    查看端口号:netstat -tunlp | grep 端口号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

骑着巨人找巨人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值