在 CentOS 上安装 Docker
docker 官网安装演示地址:docs.docker.com/engine/inst…
先决条件:
1、确定Linux系统是centos7以上
| cat /etc/redhat-release |
2、yum安装gcc相关(可装可不装)
| yum -y install gcc yum -y install gcc-c++ |
3、卸载旧版本
| yum -y remove docker docker-common docker-selinux docker-engine |
4、确认 Docker 是否支持 devicemapper 存储驱动程序
| yum -y install yum-utils device-mapper-persistent-data lvm2 |
5、设置一下下周Docker 的镜像源
| yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l… |
6、更新yum软件包索引
| yum makecache fast 或者试一下 yum makecache |
7、安装docker-ce(下载社区免费版)
| yum -y install docker-ce 执行这一步可能回出错,这个时候看下 cd /etc/yum.repos.d/ 检查docker-ce.repo或者删除docker-ce.repo试试 |
8、启动docker,验证docker 是否安装成功
| 1、启动docker服务 systemctl start docker 2、设置开机自动启动 systemctl enable docker 3、查看版本 docker version 4、测试 docker run hello-world |
docker 中央仓库
2.1、docker 官方的中央仓库,镜像最全,下载网速慢(hub.docker.com/)
2.2、国内镜像,网易蜂巢(c.163yun.com/hub)、daocloud(hub.daocloud.io/)
2.3、公司内部采用私服的方式拉取镜像。(添加配置)
2.4、为docker同时设置registry-mirrors
| { "registry-mirrors":["registry.docker-cn.com"] } systemctl daemon-reload systemctl restart docker |
docker 镜像制作
3.1、拉取镜像到本地
| docker pull 镜像名称[:tag] 比如拉取tomcat镜像 docker pull daocloud.io/library/tomcat:8.0.45(运行后访问不了,具体问题没去看了) docker pull tomcat:8.5.38 docker pull mysql:5.7 |
3.2、查看全部本地镜像
| docker images |
3.3、删除本地镜像
| docker rmi 镜像标识 |
3.4、镜像的导入导出
| 1、将本地镜像导出 docker save -o 导出的路径 镜像ID 2、加载本地镜像 docker load -i 本地镜像包 3、修改镜像名字 docker tag 镜像ID 新名称:版本 |
docker 容器的操作
4.1、运行容器
| docker run 镜像的标识[:tag] # 常用参数 docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识 镜像名称[:tag] # -d: 代表后台运行容器 # -p: 宿主机端口:容器端口 为了映射当前Linux的端口和容器的端口 # --name 容器名称:指定容器的名称 docker run -it -p 8080:8080 tomcat:8.0 docker run -d -p 8080:8080 ef6a7c98d192 |
4.2、查看运行的容器
| docker ps [-qa] -a: 查看全部容器,包括没有运行的 -q: 只看得到容器的标识 检查容器是否正确运行 docker container ls |
4.3、查看容器日志
| docker logs -f 容器ID # -f:可以滚动查看日志的最后几行 |
4.4、进入容器内部
| docker exec -it 容器ID bash |
4.5、删除容器
| docker rm 容器ID docker rm ${docker ps -qa} |
docker 应用示例
5.1、准备ssm工程或者go工程
| ···· |
5.2、准备mysql容器
| ## 运行mysql容器 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 |
5.3、准备tomcat容器
| ## 运行tomcat容器,只需要将ssm项目的war包部署到tomcat容器内部即可 ## 可以通过命令将宿主机的内容服务到容器内部 docker cp 文件名称 容器ID:容器内部路径 举个例子: docker cp ssm.war fe:/usr/local/tomcat/webapps/ |