@

目录

  • Docker的搭建以及常见问题
  • 概述
  • 常见操作
  • docker操作
  • 镜像操作
  • 容器操作
  • docker中安装mysql
  • 常见问题
  • docker换源加速下载
  • 重启后Docker远程无法连接
  • docker安装tomcat后,访问首页出现404

Docker的搭建以及常见问题

概述

Dcoker是一个开源的应用引擎:以前程序(如Tomcat、MySQL和Redis等)直接安装并运行在操作系统中,现在程序安装在Docker上,运行在Docker容器内。

常见操作

docker操作

  • uname -r 查看linux内核版本,docker要求centOS的内核版本要高于3.1
  • yum -y install docker:安装docker
  • docker -v:查看docker版本,检查是否安装成功
  • systemctl start docker:启动docker
  • systemctl enable docker:开机启动docker
  • systemctl stop docker:停止docker

镜像操作

Docker镜像(Images)是一种文件类型,该文件包含了应用程序及该程序运行所需要的环境

  • 搜索镜像
  • docker search 镜像名
  • 从DockerHub网站搜索docker
  • 拉取镜像
  • docker pull 镜像名[:tag]:tag指镜像版本,缺省值为latest
  • 查看镜像 docker images
  • 删除镜像
  • docker rmi imageID
  • 删除镜像应注意:查看此镜像是否创建容器,如果创建容器则先停止容器运行,而后删除容器,才能删除掉镜像

容器操作

Docker镜像运行一次就会创建一个Docker容器。Docker容器使用沙箱机制,相互独立,相互间没有任何接口,由于该容器性能开销极低,因此启动非常快速

  • 运行容器

docker run [--name containerName] -d -p LinuxPort:ContainerPort imageName[:tag]

  • --name:容器名称
  • -d:守护线程
  • -p LinuxPort:ContainerPort:端口设置,其中LinuxPort为机器对外开放的端口,ContainerPort是docker对主机开放的端口
  • 查看容器日志
  • docker logs containerName/containerID: 查看指定容器日志,可以查看当前容器是否运行
  • docker ps [-a]:查看容器,忽略-a表示查看处于运行状态的容器,否则表示查看所有容器
  • docker stop containerName/containerID
  • docker start containerName/containerID
  • docker rm containerName/containerID

docker中安装mysql

  1. 拉取镜像
  • docker pull mysql:默认拉取最新版本,如需指定版本,使用docker pull mysql[:tag]
  1. 运行容器
    docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  • 容器跟随docker的启动运行:
  • docker run --name mysql -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=123456 mysql
  1. 开放端口
    firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload

常见问题

docker换源加速下载

  1. 修改daemon.json 文件
  • vim /etc/docker/daemon.json
  • 追加以下内容:
{
"registry-mirrors": ["http://hub-mirror.c.163.com","http://docker.mirrors.ustc.edu.cn"],
"live-restore": true
}
  1. 重启docker
    systemctl restart docker.service

重启后Docker远程无法连接

  1. 修改文件:
  • vim o /usr/lib/sysctl.d/50-default.conf
  • 在最后一行追加:net.ipv4.ip_forward = 1
  1. 重启运行虚拟机
  2. sysctl net.ipv4.ip_forward 查看结果是否为1
  3. 启动镜像,问题解决

docker安装tomcat后,访问首页出现404

  • docker ps -a :找到tomcat的容器ID
  • docker exec -it 容器Id /bin/bash
  • 查看当前目录信息 ls -l
  • 检查下webapps,如果为空则删除 rm -rf webapps
  • mv webapps.dist webapps :将webapps.dist改为webapps
  • 问题解决