
你还不会在CentOS7上安装Docker嘛?
发布日期:2021-05-08 01:12:16
浏览次数:11
分类:精选文章
本文共 6948 字,大约阅读时间需要 23 分钟。
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
[root@localhost ~]# uname -aLinux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:
[root@localhost ~]# yum -y install docker
查看docker版本
[root@localhost ~]# docker versionClient: Version: 1.13.1 API version: 1.26 Package version: docker-1.13.1-162.git64e9980.el7.centos.x86_64 Go version: go1.10.3 Git commit: 64e9980/1.13.1 Built: Wed Jul 1 14:56:42 2020 OS/Arch: linux/amd64Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Package version: docker-1.13.1-162.git64e9980.el7.centos.x86_64 Go version: go1.10.3 Git commit: 64e9980/1.13.1 Built: Wed Jul 1 14:56:42 2020 OS/Arch: linux/amd64 Experimental: false[root@localhost ~]#
启动docker
[root@localhost ~]# systemctl start docker
开机启动docker
[root@localhost ~]# systemctl enable dockerCreated symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
停止docker
systemctl stop docker
容器操作
1、搜索镜像[root@localhost ~]# docker search tomcat2、拉取镜像[root@localhost ~]# docker pull tomcat3、根据镜像启动容器docker run --name mytomcat -d tomcat:latest4、docker ps 查看运行中的容器5、 停止运行中的容器docker stop 容器的id6、查看所有的容器docker ps -a7、启动容器docker start 容器id8、删除一个容器 docker rm 容器id9、启动一个做了端口映射的tomcat[root@localhost ~]# docker run -d -p 8888:8080 tomcat-d:后台运行-p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口10、为了演示简单关闭了linux的防火墙service firewalld status ;查看防火墙状态service firewalld stop:关闭防火墙11、查看容器的日志docker logs container-name/container-id更多命令参看https://docs.docker.com/engine/reference/commandline/docker/可以参考每一个镜像的文档
查看镜像、容器、数据卷所占用的空间
[root@localhost ~]# docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 3 3 776.6 MB 0 B (0%)Containers 4 1 34.66 kB 1.893 kB (5%)Local Volumes 9 4 895.6 MB 491 MB (54%)[root@localhost ~]#
容器退出再次进入报错
[root@localhost ~]# docker run -it -v /home/docker/build:/root/build --privileged -h hadoop1 --name hadoop1 centos /bin/bash/usr/bin/docker-current: Error response from daemon: Conflict. The container name "/hadoop1" is already in use by container a094bdef9e1cac62a17022e568fe9b1eb021e13adf8ed2624a71be5a2e42c618. You have to remove (or rename) that container to be able to reuse that name..See '/usr/bin/docker-current run --help'.[root@localhost ~]#
docker ps: 查看当前运行的容器docker ps -a:查看所有容器,包括停止的。
标题含义:
- CONTAINER ID:容器的唯一表示ID。
- IMAGE:创建容器时使用的镜像。
- COMMAND:容器最后运行的命令。
- CREATED:创建容器的时间。
- STATUS:容器状态。
- PORTS:对外开放的端口。
- NAMES:容器名。可以和容器ID一样唯一标识容器,同一台宿主机上不允许有同名容器存在,否则会冲突。
[root@localhost ~]# docker kill ee2b1b2311afError response from daemon: Cannot kill container ee2b1b2311af: Container ee2b1b2311af214026af0169bc3b5b578a85a1367edfa30f5e5b2b8ed4736917 is not running[root@localhost ~]# docker kill 5acf0e8da90bError response from daemon: Cannot kill container 5acf0e8da90b: No such container: 5acf0e8da90b[root@localhost ~]# docker rm ee2b1b2311afee2b1b2311af[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/rabbitmq 3.8-management 64a1f920fb0d 2 days ago 187 MBdocker.io/redis latest 1319b1eaa0b7 3 days ago 104 MBdocker.io/elasticsearch latest 5acf0e8da90b 22 months ago 486 MB[root@localhost ~]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90bd43db002b4c39f3d7bfb8e295df0a0163f5d8ea6134ac9454e1803211d2eec53
参数解释:
- -v 表示基于容器的centos系统的/root/build目录与本地/home/hadoop/build共享;这可以很方便将本地文件上传到Docker内部的centos系统;
- -h 指定主机名为hadoop1
- –-name 指定容器名
- /bin/bash 使用bash命令
安装MySQL实例
docker pull mysql
错误的启动
[root@localhost ~]# docker run --name mysql01 -d mysql42f09819908bb72dd99ae19e792e0a5d03c48638421fa64cce5f8ba0f40f5846mysql退出了[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES42f09819908b mysql "docker-entrypoint.sh" 34 seconds ago Exited (1) 33 seconds ago mysql01538bde63e500 tomcat "catalina.sh run" About an hour ago Exited (143) About an hour ago compassionate_goldstinec4f1ac60b3fc tomcat "catalina.sh run" About an hour ago Exited (143) About an hour ago lonely_fermi81ec743a5271 tomcat "catalina.sh run" About an hour ago Exited (143) About an hour ago sick_ramanujan//错误日志[root@localhost ~]# docker logs 42f09819908berror: database is uninitialized and password option is not specified You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD;这个三个参数必须指定一个
正确的启动
[root@localhost ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysqlb874c56bec49fb43024b3805ab51e9097da779f2f572c22c695305dedd684c5f[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb874c56bec49 mysql "docker-entrypoint.sh" 4 seconds ago Up 3 seconds 3306/tcp mysql01
做了端口映射
[root@localhost ~]# docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysqlad10e4bc5c6a0f61cbad43898de71d366117d120e39db651844c0e73863b9434[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESad10e4bc5c6a mysql "docker-entrypoint.sh" 4 seconds ago Up 2 seconds 0.0.0.0:3306->3306/tcp mysql02
总结:
详细步骤请见
#1、卸载旧版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engin #2、下载需要的安装包 yum install -y yum-utils #3、设置镜像仓库(推荐使用aliyun,下载速度较快) yum-config-manager --add-repo http://mirror s.aliyun.com/docker-ce/linux/centos/docker-ce.repo #4、更新yum软件包索引 yum makecache fast #4、安装(docker-ce社区版 docker-ee企业版) yum install docker-ce docker-ce-cli containerd.io #5、启动 systemctl start docker #6、查看安装版本 docker version #7、设置开机自动启动 systemctl enable docker.service #8、关闭开机自动启动 systemctl disable docker.service #9、查看是否设置开机启动 systemctl list-unit-files | grep enable
#1、卸载依赖 yum remove docker-ce docker-ce-cli containerd.io #2、删除资源 sudo rm -rf /var/lib/docker #3、默认工作路径 /var/lib/docker
发表评论
最新留言
很好
[***.229.124.182]2025年04月03日 10时29分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
better-sroll 下拉刷新,下拉加载vue.js参考代码
2021-05-08
微信js-sdk使用简述(分享,扫码功能等)
2021-05-08
selenium 的介绍和爬取 jd数据
2021-05-08
python-selenium优化方案
2021-05-08
【分享-免费OCR工具 在线+移动端】免费在线图片多国文字识别
2021-05-08
服务器 centos 系统漏洞快速修复简易方法
2021-05-08
docker配置centos+宝塔面板+phpstorm-xdebug记录
2021-05-08
【分享-一键在线抠图】在线免费去除图片背景
2021-05-08
Thinkphp3.2.3 多图上传,同类型只能上传一张问题
2021-05-08
图片预览自适应固定宽高div
2021-05-08
layui表格checkbox选择全选样式及功能
2021-05-08
mxsrvs支持thinkphp3.2伪静态
2021-05-08
微信公众号原生支付
2021-05-08
mui HTML5 plus 下载文件
2021-05-08
mui底部tab代码
2021-05-08
环信SDK 踩坑记webIM篇(一)
2021-05-08
pyqt5 学习笔记
2021-05-08
环信SDK 踩坑记webIM篇(二)
2021-05-08
苹果ios浏览器里面数字被当做电话号码
2021-05-08