现在我们可以从oracle的container registry中下载pre-installed/pre-built image来进行安装。安装非常简单,大大简化了工作量。预制的image包括k8s,Oracle的数据库(标准版、企业版、单实例、集群)、中间件(BI、weblogic、coherence、tuxedo、soa、webtier、odi、fmw)、操作系统、Java、MySQL(社区办、企业版)等等。本部描述的是在Oracle7上安装docker,然后部署MySQL企业版的一个用例。
Oracle container regisry的地址
https://container-registry.oracle.com/pls/apex/f?p=113:10
首先在Oracle7上安装docker[root@xd07dbm01 ~]# cd /etc/yum.repos.d/
[root@xd07dbm01 ~]# wget http://yum.oracle.com/public-yum-ol7.repo
[root@xd07dbm01 ~]# 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-oracle
gpgcheck=1
enabled=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-oracle
gpgcheck=1
enabled=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-oracle
gpgcheck=1
enabled=1
[root@xd07dbm01 ~]# yum install docker-engine -y
[root@xd07dbm01 ~]# systemctl start docker
[root@xd07dbm01 ~]# systemctl enable docker
[root@xd07dbm01 ~]# systemctl status docker
[root@xd07dbm01 ~]# docker login container-registry.oracle.com
Username: chaoyang.han@oracle.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@xd07dbm01 ~]#
Trying to pull repository container-registry.oracle.com/mysql/enterprise-server ...
8.0.13: Pulling from container-registry.oracle.com/mysql/enterprise-server
e64f6e679e1a: Pull complete
d4d26fca1610: Pull complete
a60f010bde70: Pull complete
c2786cb6b8dc: Pull complete
Digest: sha256:5018d61b5adfb1a6d277f1868c159455b96fae22f8d1450a576c1a3aca14f728
Status: Downloaded newer image for container-registry.oracle.com/mysql/enterprise-server:8.0.13
[root@xd07dbm01 ~]#
[root@xd07dbm01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
container-registry.oracle.com/mysql/enterprise-server 8.0.13 26982f72913d 4 months ago 317MB
[root@xd07dbm01 ~]#
docker run --name=mysqla -d container-registry.oracle.com/mysql/enterprise-server:8.0.13
docker ps
docker logs mysqla 2>&1 | grep GENERATED
docker exec -it mysql1 mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'oracle';
docker exec -it mysqla bash
ls /var/lib/mysql
docker stop mysqla
docker rm mysqla
[root@xd07dbm01 ~]# docker run --name=mysqla -d container-registry.oracle.com/mysql/enterprise-server:8.0.13
57dd0006ec504a3adf6695ef305325d0c697efa30e3670f5cffce84c68080311
[root@xd07dbm01 ~]# docker logs mysqla 2>&1 | grep GENERATED
[Entrypoint] GENERATED ROOT PASSWORD: 0Px0L&@z0z4m*oLw3k7ux4L.3p9
[root@xd07dbm01 ~]# docker exec -it mysqla mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.13-commercial
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'oracle';
Query OK, 0 rows affected (0.04 sec)
mysql> exit
Bye
[root@xd07dbm01 ~]# docker exec -it mysqla bash
bash-4.2#
exit
[root@xd07dbm01 ~]# docker stop mysqla
mysqla
[root@xd07dbm01 ~]#
其他有用的docker工具,比如Docker Toolbox(包含boot2docker,kitematic),不是Docker for windows
https://docs.docker.com/toolbox/toolbox_install_windows/
https://download.docker.com/win/stable/DockerToolbox.exe
https://github.com/boot2docker
https://docs.docker.com/toolbox/
https://kitematic.com/
https://github.com/docker/kitematic
Reference
https://blogs.oracle.com/virtualization/install-docker-on-oracle-linux-7-v2
https://dev.mysql.com/doc/refman/8.0/en/docker-mysql-getting-started.html
https://container-registry.oracle.com/pls/apex/f?p=113:10
https://hub.docker.com/_/oraclelinux/