yum install docker
systemctl start docker
docker -v
显示:Docker version 1.13.1, build 7f2769b/1.13.1
- 修改docker国内镜像加速
- 设置docker开机自启
systemctl enable docker
systemctl stop docker
-
docker常用操作
- 检索:docker search mysql(需要搜索的镜像名称)
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 8930 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3140 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 659 [OK]
docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 462 [OK]
docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 66
docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 61 [OK]
docker.io docker.io/mysql/mysql-cluster Experimental MySQL Cluster Docker images. ... 59
docker.io docker.io/deitch/mysql-backup REPLACED! Please use http://hub.docker.com... 41 [OK]
docker.io docker.io/bitnami/mysql Bitnami MySQL Docker Image 35 [OK]
docker.io docker.io/tutum/mysql Base docker image to run a MySQL database ... 34
docker.io docker.io/schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic back... 28 [OK]
docker.io docker.io/prom/mysqld-exporter 23 [OK]
docker.io docker.io/linuxserver/mysql A Mysql container, brought to you by Linux... 22
docker.io docker.io/centos/mysql-56-centos7 MySQL 5.6 SQL database server 17
docker.io docker.io/circleci/mysql MySQL is a widely used, open-source relati... 16
docker.io docker.io/mysql/mysql-router MySQL Router provides transparent routing ... 14
docker.io docker.io/arey/mysql-client Run a MySQL client from a docker container 13 [OK]
docker.io docker.io/openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 ima... 6
docker.io docker.io/fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron t... 4 [OK]
docker.io docker.io/genschsa/mysql-employees MySQL Employee Sample Database 3 [OK]
docker.io docker.io/ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK]
docker.io docker.io/devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offi... 2
docker.io docker.io/jelastic/mysql An image of the MySQL database server main... 1
docker.io docker.io/monasca/mysql-init A minimal decoupled init container for mysql 0
docker.io docker.io/widdpim/mysql-client Dockerized MySQL Client (5.7) including Cu... 0 [OK]
- 拉取镜像:docker pull mysql(镜像名称,也就是上一步搜索结果NAME字段中去掉docker.io/后的名称)
- 默认下载的是latest版本的镜像,需要下载其他版本可以使用:docker pull mysql:5.5(版本号)
- 查看镜像列表:docker images
- 删除镜像:
- 删除未运行过的镜像
- 直接:docker rmi 镜像id
- 删除已运行过的镜像
- 先删除运行时生成的容器
- docker ps -a 查看所有的容器
- 如果当前容器在运行:docker stop 容器id
- 当前容器未运行:docker rm 容器id
- 删除镜像:docker rmi 镜像id
- 运行镜像
docker run -p 80:8080 --name 自己给容器取的名字 -d 镜像的名称:版本号
例如:docker run -p 3306:3306 --name MyMySql -d mysql:latest
--name是给容器去一个别名 -d是表示后台运行,否者命令行窗口关闭,容器就停止运行了
-p 8888:8080 设置端口映射,前一个端口为主机的端口,后一个端口为docker的端口,意思是访问主机的8888端口相当于访问docker的8080端口
注意:不同镜像的运行方式,所带参数不同,可以根据官方文档进行运行
- 查看容器列表 docker ps -a
- 查看容器的启动日志: docker logs 容器id
-
其他操作
- 修改原镜像生成新的镜像
1.运行tomcat镜像
// -d 表示后台运行,否则控制台一退出,tomcat也退出了
docker run -d -p 8888:8080 tomcat
2.进入tomcat容器删除doc文件夹
// 进入正在运行的容器
docker exec -it 容器id /bin/bash
// 进入/usr/local/tomcat/webapps 删除doc目录
rm -rf doc
3.生成新的容器
docker commit -a="tyc" -m="没有doc的tomcat容器" 4f8827c136ee elitetyc/tomcat:1.0
4.查看镜像并且运行
//docker images
elitetyc/tomcat 1.0 51983f8840ee 54 seconds ago 507MB
// docker run -d -p 8888:8080 51983f8840ee(生成的镜像的id)
-
制作镜像
//从那个基础镜像开始构建
FROM centos
// 设置一个变量 mypath 为/tmp
ENV mypath /tmp
// 将登录目录设置为tmp
WORKDIR $mypath
// 执行命令安装vim和网络工具
RUN yum -y install vim
RUN yum -y install net-tools
// 对外暴露80端口
EXPOSE 80
// 打印输出提示
CMD echo "构建成功..."
CMD /bin/bash
网友评论