Centos安装docker及常见docker容器创建脚本

系统要求

  • 安装docker CE需要CentOS 7的维护版本,存档版本(没在维护的版本)不支持
  • 必须开启centos-extras仓库,默认是打开的,如果被关闭了,需要重新打开
  • 推荐使用overlay2存储驱动,overlay也可以但是不推荐。overlay2要求Linux内核为4.0+

卸载旧版本

  旧版本的docker叫做docker或者docker-engine ,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce(Community Edition)/var/lib/docker/目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。

$ sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine

安装

安装依赖包,yum-utils提供yum-config-manager工具,devicemapper存储驱动需要device-mapper-persistent-datalvm2

$ sudo yum install -y yum-utils 
  device-mapper-persistent-data 
  lvm2

使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。

$ sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

安装最新版本的docker CE

$ sudo yum install -y docker-ce

注意:如果安装了多个docker仓库,使用yum install或者yum update命令时后面不跟版本信息的话,将始终安装最高版本的docker,要安装指定版本的docker CE,可使用以下命令查询版本,版本号从高到低

$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable

安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.03.0.ce-1.el7.centos ,其命令为

$ sudo yum install -y docker-ce-18.03.0.ce

配置

启动docker,即启动docker deamon/守护进程/引擎

$ sudo systemctl start docker

设置docker开机自启

$ sudo systemctl enable docker

常见docker容器的创建脚本

拉取镜像

docker pull fauria/vsftpd
docker pull redis
docker pull mysql:5.7
docker pull rabbitmq:management

ftp:

docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 -v /home/vsftpd:/home/vsftpd -e FTP_USER=root -e FTP_PASS=root -e PASV_ADDRESS=172.19.45.25 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

redis:

docker run -d --name redis -p 6379:6379 redis --requirepass "123456"

mysql:

mkdir /opt/mysql

mkdir /opt/mysql/conf

mkdir /opt/mysql/data

vim /opt/mysql/conf/my.cnf

[mysqld]
character_set_server = utf8
[mysqld_safe]
character_set_server = utf8
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[client]
default-character-set = utf8

再执行

docker run -d -p 3306:3306 --privileged=true -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

rabbitmq:

docker run -d --hostname rabbitmqHost --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management
原文地址:https://www.cnblogs.com/guanghe/p/14700986.html