Docker 的安装
Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和
企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用 不到。下面的介绍都针对社区版。
Docker CE 的安装请参考官方文档,我们这里以CentOS为例:
1、Docker 要求 CentOS 系统的内核版本高于 3.10
通过 uname -r 命令查看你当前的内核版本
命令: uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。(注意,这步是必须的,需要耐心等待更新完毕,更新东西较多,时间会长一点)
命令: yum -y update
3、卸载旧版本(如果安装过旧版本的话)
命令: yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
命令: yum install -y yum-utils device-mapper-persistent-data lvm2
如果 报 Network is unreachable错误,说明你的虚拟机网路有问题,解决方案如下:
1.编辑/etc/sysconfig/network-scripts/ifcfg-ens33配置文件,将其中NAME项和DEVICE项修改为eth0,保存后退出,重命名ifcfg-ens33文件名为ifcfg-eth0,命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33 在cd到 /etc/sysconfig/network-scripts/文件夹
中去,命令: cd /etc/sysconfig/network-scripts/ 再修改 ifcfg-ens33文件名为ifcfg-eth0,命令:mv ifcfg-ens33 ifcfg-eth0,然后重启:reboot,就ok了,需要还是不行,自己想办法吧!>_<
5、设置yum源,并更新 yum 的包索引
设置镜像命令: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(这是配置阿里云镜像,可能,在本地虚拟机中配置这个镜像,是不行的,可以换个镜像,如:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo)
更新yum命令: yum makecache fast
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
命令: yum list docker-ce --showduplicates | sort -r
7、安装docker
命令: yum -y install docker-ce-18.03.1.ce(安装18.03.1.ce版本的,当然你也可以选择你想安装的任意版本)
8、启动并加入开机启动
命令:systemctl start docker
命令:systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
命令: docker version
10、卸载docker
命令:yum -y remove docker-engine
Docker常用命令
镜像相关命令
1、搜索镜像
可使用 docker search命令搜索存放在 Docker Hub中的镜像。执行该命令后, Docker就会
在Docker Hub中搜索含有 java这个关键词的镜像仓库
命令;docker search java (搜索java关键字的插件的版本和其他信息)
2、下载镜像
使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从
Docker Hub中的 java仓库下载最新版本的 Java镜像。如果要下载指定版本则在java后面加冒
号指定版本,例如:docker pull java:8
命令: docker pull java:8
3、列出镜像
使用 docker images命令即可列出已下载的镜像
命令 docker images
4、删除本地镜像
使用 docker rmi命令即可删除指定镜像
命令: docker rmi java
容器相关命令
1、新建并启动容器
使用以下docker run命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项,
下面将列举一些常用的选项。
-d选项:表示后台运行
-P选项:随机端口映射
-p选项:指定端口映射,有以下四种格式。
-- ip:hostPort:containerPort
-- ip::containerPort
-- hostPort:containerPort
-- containerPort
--net选项:指定网络模式,该选项有以下可选参数:
--net=bridge:默认选项,表示连接到默认的网桥。
--net=host:容器使用宿主机的网络。
--net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。
--net=none:不配置该容器的网络,用户可自定义网络配置
使用docker安装mysql,挂载外部配置和数据
普通安装
1.下载镜像,mysql 5.7
docker pull mysql:5.7
2.创建mysql容器,并后台启动
docker run -d -p 3306:3306 -e MYSQL_USER="test" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysqltest1 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci
-e MYSQL_USER="test" :添加test用户
-e MYSQL_PASSWORD="123456":设置添加的用户密码
-e MYSQL_ROOT_PASSWORD="123456":设置root用户密码
--character-set-server=utf8:设置字符集为utf8
--collation-server=utf8_general_cli:设置字符比较规则为utf8_general_cli
挂载外部配置和数据安装
1.创建目录和配置文件my.cnf
在根节点下,创建docker文件夹,并在docker文件夹下创建mysql,在mysql文件夹下创建conf,data,logs
文件夹,然后cd到conf文件夹中,创建文件my.conf
1 mkdir docker
2 cd docker/
3 mkdir mysql
4 cd mysql/
5 mkdir conf
6 mkdir data
7 mkdir logs
8 cd conf/
9 touch my.conf
10 vim my.conf
(顺着命令敲即可,嘿嘿)
把下面的代码粘贴到my.conf中
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
然后启动mysql即可,命令如下
1 先输入cd,返回根节点
2 直接输入命令:docker run -d -p 3306:3306 --name mymysql -v $PWD/docker/mysql/conf:/etc/mysql/conf.d -v $PWD/docker/mysql/logs:/logs -v $PWD/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
参数说明:
docker run:docker运行命令
-d :后台启动
-p 3306:3306(将容器的 3306 端口映射到主机的 3306 端口)
$PWD:系统根节点路径
-v $PWD/docker/mysql/conf:/etc/mysql/conf.d:将主机当前目录下的/docker/mysql/conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/docker/mysql/data:/var/lib/mysql:将主机当前目录下的/docker/mysql/data目录挂载到容器的 /var/lib/mysql 。
e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
到了这一步mysql安装成功
navicat测试