Docker自动化双主MySQL-01:安装docker并使用docker 获取镜像

nstall with yum
1.shell>sudo yum update
2.添加dockeryum
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

3.安装docker的包
shell>sudo yum install docker-engine
4.将docker加到服务里面
$ sudo systemctl enable docker.service
5.启动docker
$ sudo systemctl start docker
6.在容器中运行镜像看docker是否安装成功
$ sudo docker run --rm hello-world

二、使用docker 获取镜像:
1.查看docker是否运行:
[root@localhost ~]# ps aux | grep docker
root 8229 1.6 0.6 944968 49924 ? Ssl 10:54 0:13 /usr/bin/dockerd
root 8235 0.0 0.1 367832 12216 ? Ssl 10:54 0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc
root 8827 0.0 0.0 112652 960 pts/1 S+ 11:07 0:00 grep --color=auto docker
2.使用docker获取镜像:

可以使用 docker pull 命令来从仓库获取所需要的镜像

[root@localhost ~]#docker pull centos
[root@localhost ~]# docker images 有哪些镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0584b3d2cf6d 6 weeks ago 196.5 MB
hello-world latest c54a2cc56cbb 5 months ago 1.848 kB
3.查看后台运行docker镜像
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e793eb3f32c2 centos "/bin/bash" 3 minutes ago Up 3 minutes alisql
4.进入docker里面
[root@localhost ~]# docker exec -it e793eb3f32c2 /bin/bash
[root@e793eb3f32c2 /]#
查看容器:
[root@localhost opt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e793eb3f32c2 centos "/bin/bash" 6 hours ago Up 6 hours alisql
将容器提交为镜像
[root@localhost opt]# docker commit -m "install alisql" -a "wjj" e793eb3f32c2 alisql/m:5.6.32
sha256:3dff1697293ac450627ce4d6283c215315dcef3256d00206be5cabb831314780

其中, -m 来指定提交的说明信息,跟我们使用的版本控制工具一样; -a 可以
指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库
名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。
使用 docker images 来查看新创建的镜像。

[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alisql/m 5.6.32 3dff1697293a About a minute ago 2.181 GB

之后,可以使用新的镜像来启动容器

导出镜像:
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alisql_m 5.6.32 e1b266255ad5 2 minutes ago 2.181 GB
3dff1697293a 8 minutes ago 2.181 GB
53c6ea2f5444 30 minutes ago 5.117 GB
centos latest 0584b3d2cf6d 6 weeks ago 196.5 MB
hello-world latest c54a2cc56cbb 5 months ago 1.848 kB

[root@localhost docker_images]# docker save -o alisql_m.tar alisql/m:5.6.32
[root@localhost docker_images]# docker save -o alisql_s.tar alisql/s:5.6.32

save opt/alisql_m.tar的意思是把image 保存在opt目录里并命令为alisql_m.tar

使用新的镜像来启动容器:
[root@localhost docker_images]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alisql/s 5.6.32 f502d6c3c562 3 minutes ago 2.456 GB
alisql/m 5.6.32 ee0aea15ad83 4 minutes ago 2.497 GB

docker run 就是运行容器的命令,具体格式我们会在后面的章节讲解,我们这里简要的说明一下上面用到的参数
-ti:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
使用新的镜像来启动容器:
[root@localhost ~]# docker run -t -i alisql_s:5.6.32 /bin/bash

827 docker ps -a
828 docker rm -f 79cab3e7e30a
829 docker rmi bc9edf41d6b2
docker exec -it 容器名 执行脚本或者获取脚本位置

docker build -t ma .

[root@localhost docker_mysql_5.6]# docker ps -aq
0de7852c6992
8e3134e3ed0c
4cbd4c39e332
67f51a8e755b
56d33b2836ea
88dd6a8cf960
d38476a689b6
58bfe5f40850
d5c9fbe08387
[root@localhost docker_mysql_5.6]# docker ps -aq | xargs docker rm -f
0de7852c6992
8e3134e3ed0c
4cbd4c39e332
67f51a8e755b
56d33b2836ea
88dd6a8cf960
d38476a689b6
58bfe5f40850
d5c9fbe08387

上一篇:21世纪编程语言死亡名单,Java、Python、Go等均在劫难逃


下一篇:MySQL 8.0 Invisible Indexes 和 RDS 5.6 Invisible Indexes介绍