Docker的搭建以及常见问题
@
目录
Docker的搭建以及常见问题
概述
Dcoker是一个开源的应用引擎:以前程序(如Tomcat、MySQL和Redis等)直接安装并运行在操作系统中,现在程序安装在Docker上,运行在Docker容器内。
常见操作
docker操作
uname -r查看linux内核版本,docker要求centOS的内核版本要高于3.1yum -y install docker:安装dockerdocker -v:查看docker版本,检查是否安装成功systemctl start docker:启动dockersystemctl enable docker:开机启动dockersystemctl 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/containerIDdocker start containerName/containerIDdocker rm containerName/containerID
docker中安装mysql
- 拉取镜像
docker pull mysql:默认拉取最新版本,如需指定版本,使用docker pull mysql[:tag]
- 运行容器
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
- 开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
常见问题
docker换源加速下载
- 修改daemon.json 文件
-
vim /etc/docker/daemon.json -
追加以下内容:
{ "registry-mirrors": ["http://hub-mirror.c.163.com","http://docker.mirrors.ustc.edu.cn"], "live-restore": true }
- 重启docker
systemctl restart docker.service
重启后Docker远程无法连接
- 修改文件:
vim o /usr/lib/sysctl.d/50-default.conf- 在最后一行追加:
net.ipv4.ip_forward = 1
- 重启运行虚拟机
sysctl net.ipv4.ip_forward查看结果是否为1- 启动镜像,问题解决
docker安装tomcat后,访问首页出现404
docker ps -a:找到tomcat的容器IDdocker exec -it 容器Id /bin/bash- 查看当前目录信息
ls -l - 检查下webapps,如果为空则删除
rm -rf webapps mv webapps.dist webapps:将webapps.dist改为webapps- 问题解决

浙公网安备 33010602011771号