Install MySQL 5.7 in the Docker
Install Docker on Oracle Linux 7
在Oracle Linux 7.1上安装Docker
1.首先使用正确的yum设置来升级Oracle Linux 7.1实例。为了安装最新的Docker版本(18.9.1.ce),需要ol7_latest,ol7_uekr4与ol7_addons启用
[root@localhost /]# cd /etc/yum.repos.d/[root@localhost /]#wget http://yum.oracle.com/public-yum-ol7.repo[root@localhost yum.repos.d]# vi public-yum-ol7.repo[ol7_latest]name=Oracle Linux $releasever Latest ($basearch)baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oraclegpgcheck=1enabled=1[ol7_UEKR4]name=Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux $releasever ($basearch)baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/UEKR4/$basearch/gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oraclegpgcheck=1enabled=1[ol7_addons]name=Oracle Linux $releasever Add ons ($basearch)baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/addons/$basearch/gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oraclegpgcheck=1enabled=1
2.开始安装docker
[root@localhost yum.repos.d]# yum install docker-engineLoaded plugins: langpacksol7_UEKR4 | 2.5 kB 00:00:00ol7_addons | 1.2 kB 00:00:00ol7_latest | 2.7 kB 00:00:00(1/4): ol7_addons/x86_64/updateinfo | 60 kB 00:00:00(2/4): ol7_UEKR4/x86_64/updateinfo | 82 kB 00:00:01(3/4): ol7_addons/x86_64/primary | 82 kB 00:00:02(4/4): ol7_UEKR4/x86_64/primary_db | 4.0 MB 00:03:38ol7_addons 328/328Resolving Dependencies--> Running transaction check---> Package docker-engine.x86_64 0:18.09.1.ol-1.0.5.el7 will be installed--> Processing Dependency: container-selinux >= 2:2.77 for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: libseccomp >= 2.3 for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: containerd for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: docker-cli for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: runc for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_97)(64bit) for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Processing Dependency: libsystemd.so.0()(64bit) for package: docker-engine-18.09.1.ol-1.0.5.el7.x86_64--> Running transaction check---> Package container-selinux.noarch 2:2.77-5.el7 will be installed--> Processing Dependency: selinux-policy-base >= 3.13.1-216.el7 for package: 2:container-selinux-2.77-5.el7.noarch--> Processing Dependency: selinux-policy >= 3.13.1-216.el7 for package: 2:container-selinux-2.77-5.el7.noarch--> Processing Dependency: policycoreutils >= 2.5-11 for package: 2:container-selinux-2.77-5.el7.noarch--> Processing Dependency: selinux-policy-targeted >= 3.13.1-216.el7 for package: 2:container-selinux-2.77-5.el7.noarch---> Package containerd.x86_64 0:1.2.0-1.0.5.el7 will be installed---> Package device-mapper-libs.x86_64 7:1.02.93-3.el7 will be updated--> Processing Dependency: device-mapper-libs = 7:1.02.93-3.el7 for package: 7:device-mapper-1.02.93-3.el7.x86_64---> Package device-mapper-libs.x86_64 7:1.02.149-10.0.3.el7_6.8 will be an update---> Package docker-cli.x86_64 0:18.09.1.ol-1.0.5.el7 will be installed---> Package libseccomp.x86_64 0:2.1.1-2.el7 will be updated---> Package libseccomp.x86_64 0:2.3.1-3.el7 will be an update---> Package runc.x86_64 0:1.0.0-19.rc5.git4bb1fe4.0.3.el7 will be installed--> Processing Dependency: criu for package: runc-1.0.0-19.rc5.git4bb1fe4.0.3.el7.x86_64---> Package systemd-libs.x86_64 0:208-20.0.1.el7 will be updated--> Processing Dependency: systemd-libs = 208-20.0.1.el7 for package: systemd-208-20.0.1.el7.x86_64---> Package systemd-libs.x86_64 0:219-62.0.4.el7_6.7 will be an update--> Processing Dependency: liblz4.so.1()(64bit) for package: systemd-libs-219-62.0.4.el7_6.7.x86_64--> Running transaction check---> Package criu.x86_64 0:3.9-5.el7 will be installed--> Processing Dependency: libprotobuf-c.so.1(LIBPROTOBUF_C_1.0.0)(64bit) for package: criu-3.9-5.el7.x86_64--> Processing Dependency: libnl-3.so.200(libnl_3)(64bit) for package: criu-3.9-5.el7.x86_64--> Processing Dependency: libprotobuf-c.so.1()(64bit) for package: criu-3.9-5.el7.x86_64--> Processing Dependency: libnet.so.1()(64bit) for package: criu-3.9-5.el7.x86_64---> Package device-mapper.x86_64 7:1.02.93-3.el7 will be updated--> Processing Dependency: device-mapper = 7:1.02.93-3.el7 for package: 7:device-mapper-event-1.02.93-3.el7.x86_64---> Package device-mapper.x86_64 7:1.02.149-10.0.3.el7_6.8 will be an update---> Package lz4.x86_64 0:1.7.5-2.0.1.el7 will be installed---> Package policycoreutils.x86_64 0:2.2.5-15.0.1.el7 will be updated--> Processing Dependency: policycoreutils = 2.2.5-15.0.1.el7 for package: policycoreutils-python-2.2.5-15.0.1.el7.x86_64---> Package policycoreutils.x86_64 0:2.5-29.0.1.el7_6.1 will be an update--> Processing Dependency: libsemanage >= 2.5-14 for package: policycoreutils-2.5-29.0.1.el7_6.1.x86_64--> Processing Dependency: libsepol >= 2.5-10 for package: policycoreutils-2.5-29.0.1.el7_6.1.x86_64--> Processing Dependency: libselinux-utils >= 2.5-14 for package: policycoreutils-2.5-29.0.1.el7_6.1.x86_64--> Processing Dependency: libsepol.so.1(LIBSEPOL_1.1)(64bit) for package: policycoreutils-2.5-29.0.1.el7_6.1.x86_64--> Processing Dependency: libsemanage.so.1(LIBSEMANAGE_1.1)(64bit) for package: policycoreutils-2.5-29.0.1.el7_6.1.x86_64--> Processing Dependency: libsepol.so.1(LIBSEPOL_1.0)(64bit) for package: policycoreutils-2.5-29.0.1.el7_6.1.x86_64---> Package selinux-policy.noarch 0:3.13.1-23.0.1.el7 will be updated---> Package selinux-policy.noarch 0:3.13.1-229.0.3.el7_6.12 will be an update---> Package selinux-policy-targeted.noarch 0:3.13.1-23.0.1.el7 will be updated---> Package selinux-policy-targeted.noarch 0:3.13.1-229.0.3.el7_6.12 will be an update---> Package systemd.x86_64 0:208-20.0.1.el7 will be updated--> Processing Dependency: systemd = 208-20.0.1.el7 for package: libgudev1-208-20.0.1.el7.x86_64--> Processing Dependency: systemd = 208-20.0.1.el7 for package: systemd-sysv-208-20.0.1.el7.x86_64--> Processing Dependency: systemd = 208-20.0.1.el7 for package: systemd-python-208-20.0.1.el7.x86_64---> Package systemd.x86_64 0:219-62.0.4.el7_6.7 will be an update--> Processing Dependency: kmod >= 18-4 for package: systemd-219-62.0.4.el7_6.7.x86_64--> Processing Dependency: libcryptsetup.so.12(CRYPTSETUP_2.0)(64bit) for package: systemd-219-62.0.4.el7_6.7.x86_64--> Processing Dependency: libcryptsetup.so.12()(64bit) for package: systemd-219-62.0.4.el7_6.7.x86_64--> Running transaction check---> Package cryptsetup-libs.x86_64 0:1.6.6-3.el7 will be updated--> Processing Dependency: cryptsetup-libs = 1.6.6-3.el7 for package: cryptsetup-python-1.6.6-3.el7.x86_64--> Processing Dependency: cryptsetup-libs(x86-64) = 1.6.6-3.el7 for package: cryptsetup-1.6.6-3.el7.x86_64---> Package cryptsetup-libs.x86_64 0:2.0.3-3.el7 will be an update---> Package device-mapper-event.x86_64 7:1.02.93-3.el7 will be updated--> Processing Dependency: device-mapper-event = 7:1.02.93-3.el7 for package: 7:lvm2-libs-2.02.115-3.el7.x86_64---> Package device-mapper-event.x86_64 7:1.02.149-10.0.3.el7_6.8 will be an update--> Processing Dependency: device-mapper-event-libs = 7:1.02.149-10.0.3.el7_6.8 for package: 7:device-mapper-event-1.02.149-10.0.3.el7_6.8.x86_64---> Package kmod.x86_64 0:14-10.el7 will be updated---> Package kmod.x86_64 0:20-23.0.1.el7 will be an update---> Package libgudev1.x86_64 0:208-20.0.1.el7 will be updated---> Package libgudev1.x86_64 0:219-62.0.4.el7_6.7 will be an update--> Processing Dependency: glib2 >= 2.42 for package: libgudev1-219-62.0.4.el7_6.7.x86_64---> Package libnet.x86_64 0:1.1.6-7.el7 will be installed---> Package libnl3.x86_64 0:3.2.21-8.0.1.el7 will be updated--> Processing Dependency: libnl3 = 3.2.21-8.0.1.el7 for package: libnl3-cli-3.2.21-8.0.1.el7.x86_64---> Package libnl3.x86_64 0:3.2.28-4.el7 will be an update---> Package libselinux-utils.x86_64 0:2.2.2-6.el7 will be updated---> Package libselinux-utils.x86_64 0:2.5-14.1.el7 will be an update--> Processing Dependency: libselinux(x86-64) = 2.5-14.1.el7 for package: libselinux-utils-2.5-14.1.el7.x86_64---> Package libsemanage.x86_64 0:2.1.10-16.el7 will be updated--> Processing Dependency: libsemanage = 2.1.10-16.el7 for package: libsemanage-python-2.1.10-16.el7.x86_64---> Package libsemanage.x86_64 0:2.5-14.el7 will be an update---> Package libsepol.x86_64 0:2.1.9-3.el7 will be updated---> Package libsepol.x86_64 0:2.5-10.el7 will be an update---> Package policycoreutils-python.x86_64 0:2.2.5-15.0.1.el7 will be updated---> Package policycoreutils-python.x86_64 0:2.5-29.0.1.el7_6.1 will be an update--> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-29.0.1.el7_6.1.x86_64---> Package protobuf-c.x86_64 0:1.0.2-3.el7 will be installed---> Package systemd-python.x86_64 0:208-20.0.1.el7 will be updated---> Package systemd-python.x86_64 0:219-62.0.4.el7_6.7 will be an update---> Package systemd-sysv.x86_64 0:208-20.0.1.el7 will be updated---> Package systemd-sysv.x86_64 0:219-62.0.4.el7_6.7 will be an update--> Running transaction check---> Package cryptsetup.x86_64 0:1.6.6-3.el7 will be updated---> Package cryptsetup.x86_64 0:2.0.3-3.el7 will be an update---> Package cryptsetup-python.x86_64 0:1.6.6-3.el7 will be updated---> Package cryptsetup-python.x86_64 0:2.0.3-3.el7 will be an update---> Package device-mapper-event-libs.x86_64 7:1.02.93-3.el7 will be updated---> Package device-mapper-event-libs.x86_64 7:1.02.149-10.0.3.el7_6.8 will be an update---> Package glib2.x86_64 0:2.40.0-4.el7 will be updated---> Package glib2.x86_64 0:2.56.1-4.el7_6 will be an update---> Package libnl3-cli.x86_64 0:3.2.21-8.0.1.el7 will be updated---> Package libnl3-cli.x86_64 0:3.2.28-4.el7 will be an update---> Package libselinux.x86_64 0:2.2.2-6.el7 will be updated--> Processing Dependency: libselinux = 2.2.2-6.el7 for package: libselinux-python-2.2.2-6.el7.x86_64---> Package libselinux.x86_64 0:2.5-14.1.el7 will be an update---> Package libsemanage-python.x86_64 0:2.1.10-16.el7 will be updated---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be an update---> Package lvm2-libs.x86_64 7:2.02.115-3.el7 will be updated--> Processing Dependency: lvm2-libs = 7:2.02.115-3.el7 for package: 7:lvm2-2.02.115-3.el7.x86_64--> Processing Dependency: lvm2-libs = 7:2.02.115-3.el7 for package: 7:lvm2-python-libs-2.02.115-3.el7.x86_64---> Package lvm2-libs.x86_64 7:2.02.180-10.0.3.el7_6.8 will be an update---> Package setools-libs.x86_64 0:3.3.7-46.el7 will be updated---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be an update--> Running transaction check---> Package libselinux-python.x86_64 0:2.2.2-6.el7 will be updated---> Package libselinux-python.x86_64 0:2.5-14.1.el7 will be an update---> Package lvm2.x86_64 7:2.02.115-3.el7 will be updated---> Package lvm2.x86_64 7:2.02.180-10.0.3.el7_6.8 will be an update--> Processing Dependency: device-mapper-persistent-data >= 0.7.0-0.1.rc6 for package: 7:lvm2-2.02.180-10.0.3.el7_6.8.x86_64---> Package lvm2-python-libs.x86_64 7:2.02.115-3.el7 will be updated---> Package lvm2-python-libs.x86_64 7:2.02.180-10.0.3.el7_6.8 will be an update--> Running transaction check---> Package device-mapper-persistent-data.x86_64 0:0.4.1-2.el7 will be updated---> Package device-mapper-persistent-data.x86_64 0:0.7.3-3.el7 will be an update--> Processing Conflict: systemd-219-62.0.4.el7_6.7.x86_64 conflicts initscripts < 9.49.28-1 --> Restarting Dependency Resolution with new changes.--> Running transaction check---> Package initscripts.x86_64 0:9.49.24-1.0.1.el7 will be updated---> Package initscripts.x86_64 0:9.49.46-1.0.1.el7 will be an update--> Processing Conflict: initscripts-9.49.46-1.0.1.el7.x86_64 conflicts redhat-release < 7.5-0.11 --> Restarting Dependency Resolution with new changes.--> Running transaction check---> Package redhat-release-server.x86_64 1:7.1-1.0.2.el7 will be updated---> Package redhat-release-server.x86_64 1:7.6-4.0.1.el7 will be an update--> Processing Conflict: initscripts-9.49.46-1.0.1.el7.x86_64 conflicts oraclelinux-release < 7:7.5-1.0.3 --> Restarting Dependency Resolution with new changes.--> Running transaction check---> Package oraclelinux-release.x86_64 7:7.1-1.0.5.el7 will be updated---> Package oraclelinux-release.x86_64 7:7.6-1.0.15.el7 will be an update--> Processing Conflict: systemd-219-62.0.4.el7_6.7.x86_64 conflicts dracut < 033-243 --> Restarting Dependency Resolution with new changes.--> Running transaction check---> Package dracut.x86_64 0:033-240.0.1.el7 will be updated--> Processing Dependency: dracut = 033-240.0.1.el7 for package: dracut-config-rescue-033-240.0.1.el7.x86_64--> Processing Dependency: dracut = 033-240.0.1.el7 for package: dracut-network-033-240.0.1.el7.x86_64---> Package dracut.x86_64 0:033-554.0.3.el7 will be an update--> Running transaction check---> Package dracut-config-rescue.x86_64 0:033-240.0.1.el7 will be updated---> Package dracut-config-rescue.x86_64 0:033-554.0.3.el7 will be an update---> Package dracut-network.x86_64 0:033-240.0.1.el7 will be updated---> Package dracut-network.x86_64 0:033-554.0.3.el7 will be an update--> Finished Dependency ResolutionDependencies Resolved============================================================================================================================================================================================================================================ Package Arch Version Repository Size============================================================================================================================================================================================================================================Installing: docker-engine x86_64 18.09.1.ol-1.0.5.el7 ol7_addons 19 MUpdating: dracut x86_64 033-554.0.3.el7 ol7_latest 328 k initscripts x86_64 9.49.46-1.0.1.el7 ol7_latest 439 k oraclelinux-release x86_64 7:7.6-1.0.15.el7 ol7_latest 54 k redhat-release-server x86_64 1:7.6-4.0.1.el7 ol7_latest 9.8 kInstalling for dependencies: container-selinux noarch 2:2.77-5.el7 ol7_addons 37 k containerd x86_64 1.2.0-1.0.5.el7 ol7_addons 21 M criu x86_64 3.9-5.el7 ol7_latest 432 k docker-cli x86_64 18.09.1.ol-1.0.5.el7 ol7_addons 14 M libnet x86_64 1.1.6-7.el7 ol7_latest 57 k lz4 x86_64 1.7.5-2.0.1.el7 ol7_latest 98 k protobuf-c x86_64 1.0.2-3.el7 ol7_latest 27 k runc x86_64 1.0.0-19.rc5.git4bb1fe4.0.3.el7 ol7_addons 1.9 MUpdating for dependencies: cryptsetup x86_64 2.0.3-3.el7 ol7_latest 153 k cryptsetup-libs x86_64 2.0.3-3.el7 ol7_latest 337 k cryptsetup-python x86_64 2.0.3-3.el7 ol7_latest 35 k device-mapper x86_64 7:1.02.149-10.0.3.el7_6.8 ol7_latest 293 k device-mapper-event x86_64 7:1.02.149-10.0.3.el7_6.8 ol7_latest 188 k device-mapper-event-libs x86_64 7:1.02.149-10.0.3.el7_6.8 ol7_latest 188 k device-mapper-libs x86_64 7:1.02.149-10.0.3.el7_6.8 ol7_latest 320 k device-mapper-persistent-data x86_64 0.7.3-3.el7 ol7_latest 404 k dracut-config-rescue x86_64 033-554.0.3.el7 ol7_latest 60 k dracut-network x86_64 033-554.0.3.el7 ol7_latest 102 k glib2 x86_64 2.56.1-4.el7_6 ol7_latest 2.5 M kmod x86_64 20-23.0.1.el7 ol7_latest 121 k libgudev1 x86_64 219-62.0.4.el7_6.7 ol7_latest 96 k libnl3 x86_64 3.2.28-4.el7 ol7_latest 277 k libnl3-cli x86_64 3.2.28-4.el7 ol7_latest 159 k libseccomp x86_64 2.3.1-3.el7 ol7_latest 55 k libselinux x86_64 2.5-14.1.el7 ol7_latest 162 k libselinux-python x86_64 2.5-14.1.el7 ol7_latest 235 k libselinux-utils x86_64 2.5-14.1.el7 ol7_latest 151 k libsemanage x86_64 2.5-14.el7 ol7_latest 150 k libsemanage-python x86_64 2.5-14.el7 ol7_latest 112 k libsepol x86_64 2.5-10.el7 ol7_latest 297 k lvm2 x86_64 7:2.02.180-10.0.3.el7_6.8 ol7_latest 1.3 M lvm2-libs x86_64 7:2.02.180-10.0.3.el7_6.8 ol7_latest 1.1 M lvm2-python-libs x86_64 7:2.02.180-10.0.3.el7_6.8 ol7_latest 186 k policycoreutils x86_64 2.5-29.0.1.el7_6.1 ol7_latest 916 k policycoreutils-python x86_64 2.5-29.0.1.el7_6.1 ol7_latest 455 k selinux-policy noarch 3.13.1-229.0.3.el7_6.12 ol7_latest 484 k selinux-policy-targeted noarch 3.13.1-229.0.3.el7_6.12 ol7_latest 6.9 M setools-libs x86_64 3.3.8-4.el7 ol7_latest 620 k systemd x86_64 219-62.0.4.el7_6.7 ol7_latest 5.1 M systemd-libs x86_64 219-62.0.4.el7_6.7 ol7_latest 407 k systemd-python x86_64 219-62.0.4.el7_6.7 ol7_latest 133 k systemd-sysv x86_64 219-62.0.4.el7_6.7 ol7_latest 84 kTransaction Summary============================================================================================================================================================================================================================================Install 1 Package (+ 8 Dependent packages)Upgrade 4 Packages (+34 Dependent packages)Total download size: 81 MIs this ok [y/d/N]: yDownloading packages:No Presto metadata available for ol7_latestwarning: /var/cache/yum/x86_64/7Server/ol7_latest/packages/cryptsetup-2.0.3-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY ] 373 kB/s | 1.6 MB 00:03:39 ETAPublic key for cryptsetup-2.0.3-3.el7.x86_64.rpm is not installed(1/47): cryptsetup-2.0.3-3.el7.x86_64.rpm | 153 kB 00:00:04(2/47): criu-3.9-5.el7.x86_64.rpm | 432 kB 00:00:04Public key for container-selinux-2.77-5.el7.noarch.rpm is not installed(3/47): container-selinux-2.77-5.el7.noarch.rpm | 37 kB 00:00:04(4/47): cryptsetup-python-2.0.3-3.el7.x86_64.rpm | 35 kB 00:00:00(5/47): cryptsetup-libs-2.0.3-3.el7.x86_64.rpm | 337 kB 00:00:01(6/47): device-mapper-event-1.02.149-10.0.3.el7_6.8.x86_64.rpm | 188 kB 00:00:00(7/47): device-mapper-1.02.149-10.0.3.el7_6.8.x86_64.rpm | 293 kB 00:00:01(8/47): device-mapper-event-libs-1.02.149-10.0.3.el7_6.8.x86_64.rpm | 188 kB 00:00:00(9/47): device-mapper-persistent-data-0.7.3-3.el7.x86_64.rpm | 404 kB 00:00:00(10/47): device-mapper-libs-1.02.149-10.0.3.el7_6.8.x86_64.rpm | 320 kB 00:00:02(11/47): containerd-1.2.0-1.0.5.el7.x86_64.rpm | 21 MB 00:00:13(12/47): dracut-config-rescue-033-554.0.3.el7.x86_64.rpm | 60 kB 00:00:01(13/47): dracut-network-033-554.0.3.el7.x86_64.rpm | 102 kB 00:00:00(14/47): dracut-033-554.0.3.el7.x86_64.rpm | 328 kB 00:00:02(15/47): initscripts-9.49.46-1.0.1.el7.x86_64.rpm | 439 kB 00:00:00(16/47): kmod-20-23.0.1.el7.x86_64.rpm | 121 kB 00:00:00(17/47): libgudev1-219-62.0.4.el7_6.7.x86_64.rpm | 96 kB 00:00:00(18/47): glib2-2.56.1-4.el7_6.x86_64.rpm | 2.5 MB 00:00:02(19/47): libnl3-3.2.28-4.el7.x86_64.rpm | 277 kB 00:00:00(20/47): docker-cli-18.09.1.ol-1.0.5.el7.x86_64.rpm | 14 MB 00:00:12(21/47): libnet-1.1.6-7.el7.x86_64.rpm | 57 kB 00:00:01(22/47): libseccomp-2.3.1-3.el7.x86_64.rpm | 55 kB 00:00:00(23/47): libselinux-2.5-14.1.el7.x86_64.rpm | 162 kB 00:00:00(24/47): libnl3-cli-3.2.28-4.el7.x86_64.rpm | 159 kB 00:00:00(25/47): libselinux-python-2.5-14.1.el7.x86_64.rpm | 235 kB 00:00:00(26/47): libselinux-utils-2.5-14.1.el7.x86_64.rpm | 151 kB 00:00:00(27/47): libsemanage-python-2.5-14.el7.x86_64.rpm | 112 kB 00:00:00(28/47): libsemanage-2.5-14.el7.x86_64.rpm | 150 kB 00:00:00(29/47): libsepol-2.5-10.el7.x86_64.rpm | 297 kB 00:00:00(30/47): lvm2-2.02.180-10.0.3.el7_6.8.x86_64.rpm | 1.3 MB 00:00:00(31/47): lvm2-python-libs-2.02.180-10.0.3.el7_6.8.x86_64.rpm | 186 kB 00:00:00(32/47): lvm2-libs-2.02.180-10.0.3.el7_6.8.x86_64.rpm | 1.1 MB 00:00:01(33/47): lz4-1.7.5-2.0.1.el7.x86_64.rpm | 98 kB 00:00:00(34/47): oraclelinux-release-7.6-1.0.15.el7.x86_64.rpm | 54 kB 00:00:00(35/47): policycoreutils-2.5-29.0.1.el7_6.1.x86_64.rpm | 916 kB 00:00:00(36/47): policycoreutils-python-2.5-29.0.1.el7_6.1.x86_64.rpm | 455 kB 00:00:00(37/47): redhat-release-server-7.6-4.0.1.el7.x86_64.rpm | 9.8 kB 00:00:00(38/47): docker-engine-18.09.1.ol-1.0.5.el7.x86_64.rpm | 19 MB 00:00:10(39/47): selinux-policy-3.13.1-229.0.3.el7_6.12.noarch.rpm | 484 kB 00:00:00(40/47): protobuf-c-1.0.2-3.el7.x86_64.rpm | 27 kB 00:00:02(41/47): setools-libs-3.3.8-4.el7.x86_64.rpm | 620 kB 00:00:00(42/47): runc-1.0.0-19.rc5.git4bb1fe4.0.3.el7.x86_64.rpm | 1.9 MB 00:00:04(43/47): selinux-policy-targeted-3.13.1-229.0.3.el7_6.12.noarch.rpm | 6.9 MB 00:00:03(44/47): systemd-libs-219-62.0.4.el7_6.7.x86_64.rpm | 407 kB 00:00:00(45/47): systemd-python-219-62.0.4.el7_6.7.x86_64.rpm | 133 kB 00:00:00(46/47): systemd-sysv-219-62.0.4.el7_6.7.x86_64.rpm | 84 kB 00:00:00(47/47): systemd-219-62.0.4.el7_6.7.x86_64.rpm | 5.1 MB 00:00:04--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Total 2.8 MB/s | 81 MB 00:00:29Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracleImporting GPG key 0xEC551F03: Userid : "Oracle OSS group (Open Source Software group) " Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03 Package : 7:oraclelinux-release-7.1-1.0.5.el7.x86_64 (@anaconda/7.1) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracleIs this ok [y/N]: yRunning transaction checkRunning transaction testTransaction test succeededRunning transaction Updating : libsepol-2.5-10.el7.x86_64 1/85 Updating : libselinux-2.5-14.1.el7.x86_64 2/85 Updating : libsemanage-2.5-14.el7.x86_64 3/85 Installing : lz4-1.7.5-2.0.1.el7.x86_64 4/85 Updating : systemd-libs-219-62.0.4.el7_6.7.x86_64 5/85 Updating : 1:redhat-release-server-7.6-4.0.1.el7.x86_64 6/85 Updating : cryptsetup-libs-2.0.3-3.el7.x86_64 7/85 Updating : 7:device-mapper-libs-1.02.149-10.0.3.el7_6.8.x86_64 8/85 Updating : 7:device-mapper-1.02.149-10.0.3.el7_6.8.x86_64 9/85 Updating : systemd-219-62.0.4.el7_6.7.x86_64 10/85 Updating : dracut-033-554.0.3.el7.x86_64 11/85 Updating : kmod-20-23.0.1.el7.x86_64 12/85 Updating : 7:device-mapper-event-libs-1.02.149-10.0.3.el7_6.8.x86_64 13/85 Updating : libseccomp-2.3.1-3.el7.x86_64 14/85 Updating : glib2-2.56.1-4.el7_6.x86_64 15/85 Updating : libselinux-utils-2.5-14.1.el7.x86_64 16/85 Updating : policycoreutils-2.5-29.0.1.el7_6.1.x86_64 17/85 Updating : selinux-policy-3.13.1-229.0.3.el7_6.12.noarch 18/85 Updating : libnl3-3.2.28-4.el7.x86_64 19/85 Updating : selinux-policy-targeted-3.13.1-229.0.3.el7_6.12.noarch 20/85 Updating : 7:device-mapper-event-1.02.149-10.0.3.el7_6.8.x86_64 21/85 Updating : 7:lvm2-libs-2.02.180-10.0.3.el7_6.8.x86_64 22/85 Updating : 7:oraclelinux-release-7.6-1.0.15.el7.x86_64 23/85 Updating : libsemanage-python-2.5-14.el7.x86_64 24/85 Updating : libselinux-python-2.5-14.1.el7.x86_64 25/85 Updating : setools-libs-3.3.8-4.el7.x86_64 26/85 Updating : policycoreutils-python-2.5-29.0.1.el7_6.1.x86_64 27/85 Installing : 2:container-selinux-2.77-5.el7.noarch 28/85 Installing : containerd-1.2.0-1.0.5.el7.x86_64 29/85 Installing : docker-cli-18.09.1.ol-1.0.5.el7.x86_64 30/85 Installing : libnet-1.1.6-7.el7.x86_64 31/85 Installing : protobuf-c-1.0.2-3.el7.x86_64 32/85 Installing : criu-3.9-5.el7.x86_64 33/85 Installing : runc-1.0.0-19.rc5.git4bb1fe4.0.3.el7.x86_64 34/85 Updating : device-mapper-persistent-data-0.7.3-3.el7.x86_64 35/85 Updating : 7:lvm2-2.02.180-10.0.3.el7_6.8.x86_64 36/85Created symlink from /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket to /usr/lib/systemd/system/lvm2-lvmpolld.socket. Installing : docker-engine-18.09.1.ol-1.0.5.el7.x86_64 37/85 Updating : initscripts-9.49.46-1.0.1.el7.x86_64 38/85 Updating : 7:lvm2-python-libs-2.02.180-10.0.3.el7_6.8.x86_64 39/85 Updating : libnl3-cli-3.2.28-4.el7.x86_64 40/85 Updating : libgudev1-219-62.0.4.el7_6.7.x86_64 41/85 Updating : dracut-network-033-554.0.3.el7.x86_64 42/85 Updating : dracut-config-rescue-033-554.0.3.el7.x86_64 43/85 Updating : systemd-sysv-219-62.0.4.el7_6.7.x86_64 44/85 Updating : systemd-python-219-62.0.4.el7_6.7.x86_64 45/85 Updating : cryptsetup-python-2.0.3-3.el7.x86_64 46/85 Updating : cryptsetup-2.0.3-3.el7.x86_64 47/85 Cleanup : 7:lvm2-2.02.115-3.el7.x86_64 48/85 Cleanup : policycoreutils-python-2.2.5-15.0.1.el7.x86_64 49/85UPGRADE: Automatically re-enabling default systemd units: brandbot.path rhel-autorelabel.service rhel-autorelabel-mark.service rhel-configure.service rhel-dmesg.service rhel-domainname.service rhel-import-state.service rhel-loadmodules.service rhel-readonly.service Cleanup : initscripts-9.49.24-1.0.1.el7.x86_64 50/85 Cleanup : libgudev1-208-20.0.1.el7.x86_64 51/85 Cleanup : selinux-policy-targeted-3.13.1-23.0.1.el7.noarch 52/85 Cleanup : selinux-policy-3.13.1-23.0.1.el7.noarch 53/85 Cleanup : 7:oraclelinux-release-7.1-1.0.5.el7.x86_64 54/85 Cleanup : dracut-config-rescue-033-240.0.1.el7.x86_64 55/85 Cleanup : systemd-sysv-208-20.0.1.el7.x86_64 56/85 Cleanup : dracut-network-033-240.0.1.el7.x86_64 57/85 Cleanup : policycoreutils-2.2.5-15.0.1.el7.x86_64 58/85 Cleanup : systemd-python-208-20.0.1.el7.x86_64 59/85 Cleanup : dracut-033-240.0.1.el7.x86_64 60/85 Cleanup : setools-libs-3.3.7-46.el7.x86_64 61/85 Cleanup : libselinux-utils-2.2.2-6.el7.x86_64 62/85 Cleanup : glib2-2.40.0-4.el7.x86_64 63/85 Cleanup : libselinux-python-2.2.2-6.el7.x86_64 64/85 Cleanup : libsemanage-python-2.1.10-16.el7.x86_64 65/85 Cleanup : libsemanage-2.1.10-16.el7.x86_64 66/85 Cleanup : cryptsetup-1.6.6-3.el7.x86_64 67/85 Cleanup : libnl3-cli-3.2.21-8.0.1.el7.x86_64 68/85 Cleanup : cryptsetup-python-1.6.6-3.el7.x86_64 69/85 Cleanup : 7:lvm2-python-libs-2.02.115-3.el7.x86_64 70/85 Cleanup : 7:lvm2-libs-2.02.115-3.el7.x86_64 71/85 Cleanup : 7:device-mapper-event-1.02.93-3.el7.x86_64 72/85 Cleanup : 7:device-mapper-event-libs-1.02.93-3.el7.x86_64 73/85 Cleanup : cryptsetup-libs-1.6.6-3.el7.x86_64 74/85 Cleanup : systemd-208-20.0.1.el7.x86_64 75/85 Cleanup : 7:device-mapper-1.02.93-3.el7.x86_64 76/85 Cleanup : 7:device-mapper-libs-1.02.93-3.el7.x86_64 77/85 Cleanup : 1:redhat-release-server-7.1-1.0.2.el7.x86_64 78/85 Cleanup : systemd-libs-208-20.0.1.el7.x86_64 79/85 Cleanup : libselinux-2.2.2-6.el7.x86_64 80/85 Cleanup : libsepol-2.1.9-3.el7.x86_64 81/85 Cleanup : kmod-14-10.el7.x86_64 82/85 Cleanup : libnl3-3.2.21-8.0.1.el7.x86_64 83/85 Cleanup : device-mapper-persistent-data-0.4.1-2.el7.x86_64 84/85 Cleanup : libseccomp-2.1.1-2.el7.x86_64 85/85 Verifying : 7:device-mapper-event-libs-1.02.149-10.0.3.el7_6.8.x86_64 1/85 Verifying : glib2-2.56.1-4.el7_6.x86_64 2/85 Verifying : docker-engine-18.09.1.ol-1.0.5.el7.x86_64 3/85 Verifying : policycoreutils-2.5-29.0.1.el7_6.1.x86_64 4/85 Verifying : libseccomp-2.3.1-3.el7.x86_64 5/85 Verifying : kmod-20-23.0.1.el7.x86_64 6/85 Verifying : 7:device-mapper-libs-1.02.149-10.0.3.el7_6.8.x86_64 7/85 Verifying : 7:lvm2-python-libs-2.02.180-10.0.3.el7_6.8.x86_64 8/85 Verifying : libgudev1-219-62.0.4.el7_6.7.x86_64 9/85 Verifying : cryptsetup-libs-2.0.3-3.el7.x86_64 10/85 Verifying : selinux-policy-3.13.1-229.0.3.el7_6.12.noarch 11/85 Verifying : 7:lvm2-2.02.180-10.0.3.el7_6.8.x86_64 12/85 Verifying : 2:container-selinux-2.77-5.el7.noarch 13/85 Verifying : initscripts-9.49.46-1.0.1.el7.x86_64 14/85 Verifying : cryptsetup-python-2.0.3-3.el7.x86_64 15/85 Verifying : libsemanage-python-2.5-14.el7.x86_64 16/85 Verifying : 1:redhat-release-server-7.6-4.0.1.el7.x86_64 17/85 Verifying : 7:oraclelinux-release-7.6-1.0.15.el7.x86_64 18/85 Verifying : device-mapper-persistent-data-0.7.3-3.el7.x86_64 19/85 Verifying : dracut-network-033-554.0.3.el7.x86_64 20/85 Verifying : systemd-sysv-219-62.0.4.el7_6.7.x86_64 21/85 Verifying : containerd-1.2.0-1.0.5.el7.x86_64 22/85 Verifying : policycoreutils-python-2.5-29.0.1.el7_6.1.x86_64 23/85 Verifying : protobuf-c-1.0.2-3.el7.x86_64 24/85 Verifying : dracut-config-rescue-033-554.0.3.el7.x86_64 25/85 Verifying : libselinux-2.5-14.1.el7.x86_64 26/85 Verifying : systemd-219-62.0.4.el7_6.7.x86_64 27/85 Verifying : criu-3.9-5.el7.x86_64 28/85 Verifying : libsemanage-2.5-14.el7.x86_64 29/85 Verifying : systemd-libs-219-62.0.4.el7_6.7.x86_64 30/85 Verifying : libnl3-cli-3.2.28-4.el7.x86_64 31/85 Verifying : systemd-python-219-62.0.4.el7_6.7.x86_64 32/85 Verifying : libselinux-python-2.5-14.1.el7.x86_64 33/85 Verifying : libnet-1.1.6-7.el7.x86_64 34/85 Verifying : libsepol-2.5-10.el7.x86_64 35/85 Verifying : runc-1.0.0-19.rc5.git4bb1fe4.0.3.el7.x86_64 36/85 Verifying : selinux-policy-targeted-3.13.1-229.0.3.el7_6.12.noarch 37/85 Verifying : libselinux-utils-2.5-14.1.el7.x86_64 38/85 Verifying : dracut-033-554.0.3.el7.x86_64 39/85 Verifying : 7:device-mapper-event-1.02.149-10.0.3.el7_6.8.x86_64 40/85 Verifying : 7:device-mapper-1.02.149-10.0.3.el7_6.8.x86_64 41/85 Verifying : libnl3-3.2.28-4.el7.x86_64 42/85 Verifying : docker-cli-18.09.1.ol-1.0.5.el7.x86_64 43/85 Verifying : 7:lvm2-libs-2.02.180-10.0.3.el7_6.8.x86_64 44/85 Verifying : setools-libs-3.3.8-4.el7.x86_64 45/85 Verifying : lz4-1.7.5-2.0.1.el7.x86_64 46/85 Verifying : cryptsetup-2.0.3-3.el7.x86_64 47/85 Verifying : libselinux-utils-2.2.2-6.el7.x86_64 48/85 Verifying : libsemanage-python-2.1.10-16.el7.x86_64 49/85 Verifying : dracut-config-rescue-033-240.0.1.el7.x86_64 50/85 Verifying : systemd-libs-208-20.0.1.el7.x86_64 51/85 Verifying : systemd-sysv-208-20.0.1.el7.x86_64 52/85 Verifying : policycoreutils-2.2.5-15.0.1.el7.x86_64 53/85 Verifying : policycoreutils-python-2.2.5-15.0.1.el7.x86_64 54/85 Verifying : cryptsetup-python-1.6.6-3.el7.x86_64 55/85 Verifying : 7:oraclelinux-release-7.1-1.0.5.el7.x86_64 56/85 Verifying : 7:device-mapper-event-libs-1.02.93-3.el7.x86_64 57/85 Verifying : dracut-033-240.0.1.el7.x86_64 58/85 Verifying : cryptsetup-1.6.6-3.el7.x86_64 59/85 Verifying : setools-libs-3.3.7-46.el7.x86_64 60/85 Verifying : initscripts-9.49.24-1.0.1.el7.x86_64 61/85 Verifying : kmod-14-10.el7.x86_64 62/85 Verifying : systemd-python-208-20.0.1.el7.x86_64 63/85 Verifying : cryptsetup-libs-1.6.6-3.el7.x86_64 64/85 Verifying : dracut-network-033-240.0.1.el7.x86_64 65/85 Verifying : glib2-2.40.0-4.el7.x86_64 66/85 Verifying : libnl3-cli-3.2.21-8.0.1.el7.x86_64 67/85 Verifying : libnl3-3.2.21-8.0.1.el7.x86_64 68/85 Verifying : 7:device-mapper-event-1.02.93-3.el7.x86_64 69/85 Verifying : libselinux-python-2.2.2-6.el7.x86_64 70/85 Verifying : libsemanage-2.1.10-16.el7.x86_64 71/85 Verifying : libseccomp-2.1.1-2.el7.x86_64 72/85 Verifying : libsepol-2.1.9-3.el7.x86_64 73/85 Verifying : 7:lvm2-python-libs-2.02.115-3.el7.x86_64 74/85 Verifying : 7:device-mapper-1.02.93-3.el7.x86_64 75/85 Verifying : selinux-policy-3.13.1-23.0.1.el7.noarch 76/85 Verifying : libselinux-2.2.2-6.el7.x86_64 77/85 Verifying : 1:redhat-release-server-7.1-1.0.2.el7.x86_64 78/85 Verifying : libgudev1-208-20.0.1.el7.x86_64 79/85 Verifying : 7:lvm2-2.02.115-3.el7.x86_64 80/85 Verifying : 7:lvm2-libs-2.02.115-3.el7.x86_64 81/85 Verifying : 7:device-mapper-libs-1.02.93-3.el7.x86_64 82/85 Verifying : device-mapper-persistent-data-0.4.1-2.el7.x86_64 83/85 Verifying : selinux-policy-targeted-3.13.1-23.0.1.el7.noarch 84/85 Verifying : systemd-208-20.0.1.el7.x86_64 85/85Installed: docker-engine.x86_64 0:18.09.1.ol-1.0.5.el7Dependency Installed: container-selinux.noarch 2:2.77-5.el7 containerd.x86_64 0:1.2.0-1.0.5.el7 criu.x86_64 0:3.9-5.el7 docker-cli.x86_64 0:18.09.1.ol-1.0.5.el7 libnet.x86_64 0:1.1.6-7.el7 lz4.x86_64 0:1.7.5-2.0.1.el7 protobuf-c.x86_64 0:1.0.2-3.el7 runc.x86_64 0:1.0.0-19.rc5.git4bb1fe4.0.3.el7Updated: dracut.x86_64 0:033-554.0.3.el7 initscripts.x86_64 0:9.49.46-1.0.1.el7 oraclelinux-release.x86_64 7:7.6-1.0.15.el7 redhat-release-server.x86_64 1:7.6-4.0.1.el7Dependency Updated: cryptsetup.x86_64 0:2.0.3-3.el7 cryptsetup-libs.x86_64 0:2.0.3-3.el7 cryptsetup-python.x86_64 0:2.0.3-3.el7 device-mapper.x86_64 7:1.02.149-10.0.3.el7_6.8 device-mapper-event.x86_64 7:1.02.149-10.0.3.el7_6.8 device-mapper-event-libs.x86_64 7:1.02.149-10.0.3.el7_6.8 device-mapper-libs.x86_64 7:1.02.149-10.0.3.el7_6.8 device-mapper-persistent-data.x86_64 0:0.7.3-3.el7 dracut-config-rescue.x86_64 0:033-554.0.3.el7 dracut-network.x86_64 0:033-554.0.3.el7 glib2.x86_64 0:2.56.1-4.el7_6 kmod.x86_64 0:20-23.0.1.el7 libgudev1.x86_64 0:219-62.0.4.el7_6.7 libnl3.x86_64 0:3.2.28-4.el7 libnl3-cli.x86_64 0:3.2.28-4.el7 libseccomp.x86_64 0:2.3.1-3.el7 libselinux.x86_64 0:2.5-14.1.el7 libselinux-python.x86_64 0:2.5-14.1.el7 libselinux-utils.x86_64 0:2.5-14.1.el7 libsemanage.x86_64 0:2.5-14.el7 libsemanage-python.x86_64 0:2.5-14.el7 libsepol.x86_64 0:2.5-10.el7 lvm2.x86_64 7:2.02.180-10.0.3.el7_6.8 lvm2-libs.x86_64 7:2.02.180-10.0.3.el7_6.8 lvm2-python-libs.x86_64 7:2.02.180-10.0.3.el7_6.8 policycoreutils.x86_64 0:2.5-29.0.1.el7_6.1 policycoreutils-python.x86_64 0:2.5-29.0.1.el7_6.1 selinux-policy.noarch 0:3.13.1-229.0.3.el7_6.12 selinux-policy-targeted.noarch 0:3.13.1-229.0.3.el7_6.12 setools-libs.x86_64 0:3.3.8-4.el7 systemd.x86_64 0:219-62.0.4.el7_6.7 systemd-libs.x86_64 0:219-62.0.4.el7_6.7 systemd-python.x86_64 0:219-62.0.4.el7_6.7 systemd-sysv.x86_64 0:219-62.0.4.el7_6.7Complete!
一旦安装完成,就可以启动docker服务
[root@localhost soft]# service docker startRedirecting to /bin/systemctl start docker.service[root@localhost soft]# systemctl enable docker[root@localhost soft]# service docker statusRedirecting to /bin/systemctl status docker.service鈼[0m docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/docker.service.d 鈹斺攢docker-sysconfig.conf Active: active (running) since Mon 2019-06-10 23:15:05 CST; 6h left Docs: https://docs.docker.com Main PID: 1452 (dockerd) Memory: 132.2M CGroup: /system.slice/docker.service 鈹溾攢1452 /usr/bin/dockerd --selinux-enabled --storage-driver devicemapper --storage-opt dm.basesize=25G 鈹斺攢2436 containerd --config /var/run/docker/containerd/containerd.toml --log-level infoJun 10 23:15:03 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:03.843382248+08:00" level=info msg="Successfully created filesystem xfs on device docker-253:0-1047242-base" storage-driver=devicemapperJun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.076789613+08:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"Jun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.078665673+08:00" level=warning msg="mountpoint for pids not found"Jun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.079906275+08:00" level=info msg="Loading containers: start."Jun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.554467519+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to...rred IP address"Jun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.859786800+08:00" level=info msg="Loading containers: done."Jun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.959099871+08:00" level=info msg="Docker daemon" commit=c3ab8a8 graphdriver(s)=devicemapper version=18.09.1-olJun 10 23:15:04 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:04.959938124+08:00" level=info msg="Daemon has completed initialization"Jun 10 23:15:05 localhost.localdomain dockerd[1452]: time="2019-06-10T23:15:05.053166130+08:00" level=info msg="API listen on /var/run/docker.sock"Jun 10 23:15:05 localhost.localdomain systemd[1]: Started Docker Application Container Engine.Hint: Some lines were ellipsized, use -l to show in full.
然后可以下载镜像文件
[root@localhost soft]# docker pull mysql/mysql-server:5.7Trying to pull repository docker.io/mysql/mysql-server ...5.7: Pulling from docker.io/mysql/mysql-server35defbf6c365: Pull complete0fa46ab0f51d: Pull completef70f5000008c: Pull complete892ac46af8c0: Pull completeDigest: sha256:ddb046076781a15200d36cb01f8f512431c3481bedebd5e92646d8c617ae212cStatus: Downloaded newer image for mysql/mysql-server:5.7[root@localhost soft]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql/mysql-server 5.7 857eadf53a54 6 weeks ago 258MB
使用Docker来部署MySQL
下载MySQL Server Docker镜像文件
严格来说,不需要在单独的步骤中下载服务器镜像,但是,在创建Docker容器之前执行此步骤可以确保本地映像是最新的。为了下载MySQL社区版镜像,执行以下命令:
docker pull mysql/mysql-server:tag
tag是你想要pull镜像版本的标识(例如,5.5,5.6,5.7,8.0或最新版本)。如果:tag被忽略,latest标记会被使用并且最新通用可用版本的MySQL社区版本镜像将会被下载。网址
https://hub.docker.com/r/mysql/mysql-server/tags/列出了所有可用版本信息.
[root@localhost soft]# docker pull mysql/mysql-server:5.7Trying to pull repository docker.io/mysql/mysql-server ...5.7: Pulling from docker.io/mysql/mysql-server35defbf6c365: Pull complete0fa46ab0f51d: Pull completef70f5000008c: Pull complete892ac46af8c0: Pull completeDigest: sha256:ddb046076781a15200d36cb01f8f512431c3481bedebd5e92646d8c617ae212cStatus: Downloaded newer image for mysql/mysql-server:5.7
如果要显示Docker镜像可以执行以下命令:
[root@localhost soft]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql/mysql-server 5.7 857eadf53a54 6 weeks ago 258MB
为了下载MySQL企业版本镜像,执行以下命令:
docker pull store/oracle/mysql-enterprise-server:5.7
5.7是我们想要pull的镜像版本。MySQL企业版本容器只提供了最新的通用可用版本5.7
启动MySQL Server实例
为MySQL社区版本服务器启动一个新的Docker容器执行以下命令:
[root@localhost ~]# docker run --name=mysql1 -d mysql/mysql-server:5.75128014e440f10c557b52e6203445a01c97728e432d0f231c6027bf4b15520bd
为MySQL企业版本服务器启动一个新的Docker容器执行以下命令:
docker run --name=mysql1 -d store/oracle/mysql-enterprise-server:tag
--name选项,用来为你的服务容器指定名字(例如mysql1),它是可选项。如果没有提供容器名,会生成一个随机容器名。如果之前的docker pull或docker run命令所指定名称或标记的Docker镜像没有下载,那么镜像现在就会被下载。在下载完成后,开始初始化容器,并且当你执行docker ps命令时容器会出现在正在运行的容器列表中。例如:
[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysq鈥 42 seconds ago Up 39 seconds (health: starting) 3306/tcp, 33060/tcp mysql1
IMAGE列的输出对于MySQL社区版本读取的值为mysql/mysql-server,对于MySQL企业版本读取的值为store/oracle/mysql-enterprise-server。
容器初始化可能会花费一些时间。当服务准备好使用时,docker ps命令输出的STATUS列将从(health: starting)改变为(healthy)。
在上面的docker run命令中-d选项使容器在后台运行。使用下面的命令可以监控容器的输出信息:
[root@localhost ~]# docker logs mysql1[Entrypoint] MySQL Docker Image 5.7.26-1.1.11[Entrypoint] No password option specified for new database.[Entrypoint] A random onetime password will be generated.[Entrypoint] Initializing database[Entrypoint] Database initializedWarning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.[Entrypoint] GENERATED ROOT PASSWORD: 3z[omLAk4Jaz@sYxDiLYnyPySYfR[Entrypoint] ignoring /docker-entrypoint-initdb.d/*[Entrypoint] Server shut down[Entrypoint] Setting root user as expired. Password will need to be changed before database can be used.[Entrypoint] MySQL init process done. Ready for start up.[Entrypoint] Starting MySQL 5.7.26-1.1.11
一旦初始化完成,命令的输出将会包含为root用户生成随机密码的信息,也可以执行下面的命令来检查密码:
[root@localhost ~]# docker logs mysql1 2>&1 | grep GENERATED[Entrypoint] GENERATED ROOT PASSWORD: 3z[omLAk4Jaz@sYxDiLYnyPySYfR
在容器中连接MySQL服务器
一旦服务可以使用后,可以在刚刚启动的MySQL服务容器中运行mysql客户端程序并连接到MySQL服务。在刚刚启动的Docker容器中使用docker exec -it命令来启动mysql客户端程序,例如:
[root@localhost ~]# docker exec -it mysql1 mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 107Server version: 5.7.26Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
在执行上面的命令时需要输入root用户生成的密码。因为mysql_onetime_password选项缺省情况为true(对于MySQL社区版本来说),在mysql客户端连接到MySQL服务后,必须要通过执行以下命令来修改root用户的密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.00 sec)
一旦修改密码后,MySQL服务就可以使用。
容器Shell访问
为了使用shell访问你的MySQL服务器容器,在容器中使用docker exec -it命令来启动bash shell:
[root@localhost ~]# docker exec -it mysql1 bashbash-4.2#
在启动bash shell后,在容器中可以运行linux命令,例如,为了查看容器中的MySQL数据库的数据目录中的内容,执行以下命令:
bash-4.2# ls /var/lib/mysqlauto.cnf ca.pem client-key.pem ib_logfile0 ibdata1 mysql mysql.sock.lock private_key.pem server-cert.pem sysca-key.pem client-cert.pem ib_buffer_pool ib_logfile1 ibtmp1 mysql.sock performance_schema public_key.pem server-key.pem
停止与删除一个MySQL容器
为了停止已经创建的MySQL服务容器执行下面的命令:
[root@localhost ~]# docker stop mysql1mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysql" 21 hours ago Exited (0) 8 seconds ago mysql1
docker stop将发送一个SIGTERM信号给mysqld进程,因此服务将被优雅的关闭。
还可以观察到当一个容器的主进程(一个MySQL服务容器的主进程为mysqld)被关闭,Docker容器也会自动关闭。
启动MySQL服务容器:
[root@localhost ~]# docker start mysql1mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysql" 22 hours ago Up 5 seconds (health: starting) 3306/tcp, 33060/tcp mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysql" 22 hours ago Up 15 seconds (health: starting) 3306/tcp, 33060/tcp mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysql" 22 hours ago Up 21 seconds (health: starting) 3306/tcp, 33060/tcp mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysql" 22 hours ago Up 32 seconds (healthy) 3306/tcp, 33060/tcp mysql1
为了使用单个命令停止与再次启动MySQL服务容器:
[root@localhost ~]# docker restart mysql1mysql1[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysql" 24 hours ago Up 6 seconds (health: starting) 3306/tcp, 33060/tcp mysql1
为了删除MySQL容器,首先停止容器,然后再使用docker rm命令:
[root@localhost ~]# docker stop mysql1mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5128014e440f mysql/mysql-server:5.7 "/entrypoint.sh mysq1" 24 hours ago Exited (0) 12 seconds ago mysql1[root@localhost ~]# docker rm mysql1mysql1[root@localhost ~]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
为Docker优化MySQL的安装
MySQL的Docker映像针对代码大小进行了优化,这意味着它们只包含与大多数在Docker容器中运行MySQL实例的用户相关的关键组件。一个MySQL Docker安装与常见的非Docker安装在以下方面不同:
包含的二进制文件是有限的:
/usr/bin/my_print_defaults/usr/bin/mysql/usr/bin/mysql_config/usr/bin/mysql_install_db/usr/bin/mysql_tzinfo_to_sql/usr/bin/mysql_upgrade/usr/bin/mysqladmin/usr/bin/mysqlcheck/usr/bin/mysqldump/usr/bin/mysqlpump/usr/sbin/mysqld
所有的二进制文件被stripped;它们不包含调试信息。
配置MySQL Server
当你启动MySQL Docker容器时,可以通过docker run命令来传递配置选项给服务,例如,对于MySQL社区版本服务器
docker run --name mysql1 -d mysql/mysql-server:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_col
对于MySQL企业版本服务器:
docker run --name mysql1 -d store/oracle/mysql-enterprise-server --character-set-server=utf8mb4 --collation-server=utf8mb4_col
命令以utf8mb4作为默认字符集和utf8mb4col作为您的数据库的默认排序启动MySQL服务器。另一种配置MySQL服务器的方法是准备一个配置文件,并将其挂载到容器内的服务器配置文件的位置。有关详细信息,请参阅持久数据和配置更改。
持久数据和配置更改
Docker容器在原则上是临时的,如果容器被删除或损坏,任何数据或配置都将丢失(参见讨论)。然而,Docker卷提供了一种机制,可以在Docker容器中保存数据。在初始化时,MySQL服务器容器为服务器数据目录创建Docker卷。运行docker检查容器命令的JSON输出有一个挂载键,其值提供数据目录卷的信息:
[root@localhost ~]# docker inspect mysql1..."Mounts": [ { "Type": "volume", "Name": "a74fb4e3348635ddc0b3eb32e3f82b4feb38eeadd8d5b3ae60b4389ab83a86d8", "Source": "/var/lib/docker/volumes/a74fb4e3348635ddc0b3eb32e3f82b4feb38eeadd8d5b3ae60b4389ab83a86d8/_data", "Destination": "/var/lib/mysql", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ],...
输出显示源文件夹
/var/lib/docker/volumes/a74fb4e3348635ddc0b3eb32e3f82b4feb38eeadd8d5b3ae60b4389ab83a86d8/_data将数据持久化到主机上的数据,已经安装在/var/lib/mysql中,容器内的服务器数据目录。
保存数据的另一种方法是在创建容器时使用 --mount 选项挂载主机目录。同样的技术可以用来持久化服务器的配置。
下面的命令创建一个MySQL服务器容器,并将数据目录和服务器配置文件绑定在一起:
docker run --name=mysql1 \--mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \--mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \-d mysql/mysql-server:tag
配置文件path-on-host-machine/my.cnf必须存在,同时包含指定的用户:
[mysqld]user=mysql
path-on-host-machine.datadir目录必须存在。要发生服务器初始化,目录必须是空的。您还可以安装一个带有数据的目录,并使用它启动服务器;但是,您必须确保启动Docker容器,其配置与创建数据的服务器具有相同的配置,并且启动容器时所需的任何主机文件或目录都被安装。
运行额外的初始化脚本
如果您想在创建后立即在数据库上运行任何.sh或.sql脚本,您可以将它们放入主机目录中,然后mount目录在/docker-entrypoint-initdb.d
docker run --name=mysql1 \--mount type=bind,src=/path-on-host-machine/scripts/,dst=/docker-entrypoint-initdb.d/ \-d mysql/mysql-server:tag
对于MySQL企业版本服务器容器:
docker run --name=mysql1 \--mount type=bind,src=/path-on-host-machine/scripts/,dst=/docker-entrypoint-initdb.d/ \-d store/oracle/mysql-enterprise-server:tag
从另一个Docker容器中的应用程序连接到MySQL
通过建立一个Docker网络,你可以让多个Docker容器相互通信,这样,在另一个Docker容器中的客户端应用程序就可以在服务器容器中访问MySQL服务器。首先,创建一个Docker网络:
docker network create my-custom-net
然后,当您创建并启动服务器和客户端容器时,使用-network选项将它们放在您创建的网络上。例如:
docker run --name=mysql1 --network=my-custom-net -d mysql/mysql-serverdocker run --name=myapp1 --network=my-custom-net -d myapp
当使用MySQL企业版本服务器容器:
docker run --name=mysql1 --network=my-custom-net -d store/oracle/mysql-enterprise-serverdocker run --name=myapp1 --network=my-custom-net -d myapp
myapp1容器随后可以与mysql1主机连接到mysql1容器,反之亦然,因为Docker会自动为给定的容器名称设置一个DNS。在下面的例子中,我们从myapp1容器中运行mysql客户端,以便在自己的容器中连接主机mysql1:
docker exec -it myapp1 mysql --host=mysql1 --user=myuser --password