CentOS Docker 安装
Docker支持以下的CentOS版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本
使用 yum 安装(CentOS 7下)
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
通过 uname -r 命令查看你当前的内核版本
uname -r
卸载旧版本(如果安装过旧版本的话)
udo yum remove docker docker-common docker-selinux docker-engine
安装docker
yum install docker
启动docker服务
systemctl start docker
设置开机启动
systemctl eable docker
停止docker服务
systemctl stop docker
设置镜像加速(推荐加速网站 https://www.daocloud.io/mirror)
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。
vi /etc/docker/daemon.json
编辑daemon.json添加
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
重启docker服务
systemctl restart docker
docker搜索镜像(mysql/tomcat/redis…)
docker search 镜像名(mysql/tomcat/redis)
拉取镜像pull(docker会默认帮你安装最新版本的镜像)
docker pull 镜像名(mysql/tomcat/redis)
查看拉取的所有镜像
docker images
删除镜像
docker rm 镜像ID
使用tomcat镜像
运行容器
docker run --name tomcat -p 8080:8080 -d tomcat
--name 是创建好的容器命名
-p 端口映射 自定义:原来的端口
-d 后台运行
-e 设置参数
查看运行的容器
docker ps -a
通过浏览器访问
使用MySql镜像
运行容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码。
查看运行的容器
docker ps -a
进入容器(一定要进入mysql容器)
docker exec -it mysql bash
登录mysql
mysql -u root -p
查看用户信息
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | caching_sha2_password | $A$005$HF7;krfwhkKHp5fPenQm4J2dm/RJtbbyjtCUVdDCcboXQw3ALxsif/sS1 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------------+-----------------------+----------------------------
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
修改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ### 123456 mysql的登录密码
flush privileges; ###刷新
添加远程登录用户
grant all privileges on *.* to 'root'@'%' ; 给用于授予权限
刷新
flush privileges;
测试
运行完以上两个容器后可以选择进行以下操作
进入容器内部
docker exec -it 容器ID /bin/bash
//或者
docker exec -it 容器名称 bash
退出容器
exit
//或者
Ctrl+P+Q
删除容器
1、首先使用docker ps -a命令列出所有容器
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2582758af13 ubuntu "/bin/bash" 2 hours ago Up 2 hours first_ubuntu
6b5b5a969241 centos "/bin/bash" 2 days ago Exited (0) 24 hours ago ubuntu-web
2、然后使用docker stop命令停止要删除的容器
docker stop <CONTAINER ID|NAME>
3、现在使用以下命令删除单个或多个容器。
docker rm <CONTAINER ID|NAME> <CONTAINER ID|NAME>
注:还可以使用以下命令一次删除所有停止的容器。
docker rm $(docker ps -a -q)
如果出现镜像无法删除的情况
1.systemctl stop docker
2.rm -rf /var/lib/docker
3.systemctl start docker
解决docker容器无法启动的问题
https://blog.csdn.net/liqun_super/article/details/88304094
如果还有更多问题可以去菜鸟教程的docker教程学习
https://www.runoob.com/docker/docker-tutorial.html