@
目录
- 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
- 拉取镜像
-
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的容器ID docker exec -it 容器Id /bin/bash
- 查看当前目录信息
ls -l
- 检查下webapps,如果为空则删除
rm -rf webapps
-
mv webapps.dist webapps
:将webapps.dist改为webapps - 问题解决