版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ytuglt/article/details/84702796
预配置
由于docker使用默认的地址下载镜像很慢,所以添加一下国内镜像,这里配置中国科学技术大学的镜像,配置如下:
1.打开配置文件
vi /etc/docker/daemon.json
2.添加下面内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
1.镜像操作
1.检索
[root@bogon ~]# docker search mysql
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[root@bogon ~]# systemctl start docker
[root@bogon ~]# docker search mysql
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/mysql MySQL is a widely used, open-source relati... 7452 [OK]
docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 2402 [OK]
docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 557 [OK]
docker.io docker.io/zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 148 [OK]
docker.io docker.io/hypriot/rpi-mysql RPi-compatible Docker Image with Mysql 102
docker.io docker.io/zabbix/zabbix-web-nginx-mysql Zabbix frontend based on Nginx web-server ... 79 [OK]
docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 59 [OK]
docker.io docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 47 [OK]
docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 43
docker.io docker.io/mysql/mysql-cluster Experimental MySQL Cluster Docker images. ... 35
docker.io docker.io/tutum/mysql Base docker image to run a MySQL database ... 31
docker.io docker.io/bitnami/mysql Bitnami MySQL Docker Image 23 [OK]
docker.io docker.io/schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic back... 23 [OK]
docker.io docker.io/linuxserver/mysql A Mysql container, brought to you by Linux... 17
docker.io docker.io/zabbix/zabbix-proxy-mysql Zabbix proxy with MySQL database support 17 [OK]
docker.io docker.io/centos/mysql-56-centos7 MySQL 5.6 SQL database server 12
docker.io docker.io/circleci/mysql MySQL is a widely used, open-source relati... 7
docker.io docker.io/mysql/mysql-router MySQL Router provides transparent routing ... 6
docker.io docker.io/openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 ima... 6
docker.io docker.io/dsteinkopf/backup-all-mysql backup all DBs in a mysql server 5 [OK]
docker.io docker.io/jelastic/mysql An image of the MySQL database server main... 1
docker.io docker.io/openzipkin/zipkin-mysql Mirror of https://quay.io/repository/openz... 1
docker.io docker.io/ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 0 [OK]
docker.io docker.io/cloudfoundry/cf-mysql-ci Image used in CI of cf-mysql-release 0
docker.io docker.io/cloudposse/mysql Improved `mysql` service with support for ... 0 [OK]
其中stars表示有多少人关注,OFFICIAL表示是否是官方发布
也可以从下面的这个网站中检索:
https://hub.docker.com/
2)镜像拉取
docker pull 镜像名称:TAG
省略TAG默认为latest
TAG从下图所示位置查看:
拉去mysql镜像:
[root@bogon ~]# docker pull mysql
Using default tag: latest
可以看到默认为latest
3)查看已经安装的镜像:
[root@bogon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql latest f991c20cb508 2 weeks ago 486 MB
4)删除镜像
docker rmi image-id
2.容器操作
软件镜像(类比qq安装程序)-> 运行镜像->产生一个容器(正在运行的软件,类比运行的qq)
以tomcat为例:
[root@bogon ~]# docker search tomcat
[root@bogon ~]# docker pull tomcat
操作 | 命令 | 说明 |
---|---|---|
运行 | docker run --name container-name -d image-name eg:docker run --name myredis -d redis |
–name :自定义容器名 -d:后台运行 image-name:制定镜像模板 |
列表 | docker ps (查看运行中的容器) | 加上-a,可以查看所有容器 |
停止 | docker stop container-name/container-id | 停止当前你运行的程序 |
启动 | docker start container-name/container-id | 启动容器 |
删除 | docker rm container-id | 删除指定容器 |
端口映射 | -p 6379:6379 eg:docker run -d -p 6379:6379 --name myredis docker.io/redis |
-p:主机端口(映射到)容器内部的端口 |
[root@bogon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 78b258e36eed 2 weeks ago 463 MB
docker.io/mysql latest f991c20cb508 2 weeks ago 486 MB
[root@bogon ~]# docker run --name mytomcat -d tomcat:latest
b3d7d82377d907529b54b09c3c70f12db5ba0753dc3ce4622cd52a12d13f3231
[root@bogon ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3d7d82377d9 tomcat:latest "catalina.sh run" About a minute ago Up About a minute 8080/tcp mytomcat
[root@bogon ~]# docker stop b3d7d82377d9
b3d7d82377d9
[root@bogon ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@bogon ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3d7d82377d9 tomcat:latest "catalina.sh run" 3 minutes ago Exited (143) 16 seconds ago mytomcat
[root@bogon ~]# docker start b3d7d82377d9
b3d7d82377d9
[root@bogon ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3d7d82377d9 tomcat:latest "catalina.sh run" 6 minutes ago Up 4 seconds 8080/tcp mytomcat
[root@bogon ~]# docker stop b3d7d82377d9
b3d7d82377d9
[root@bogon ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3d7d82377d9 tomcat:latest "catalina.sh run" 7 minutes ago Exited (143) 11 seconds ago mytomcat
[root@bogon ~]# docker rm b3d7d82377d9
b3d7d82377d9
[root@bogon ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
上面的步骤中启动tomcat在浏览器中是无法访问的,下面映射端口启动
[root@bogon ~]# docker run -d -p 8888:8080 tomcat
f1ef9a36217b9c1f28a40fae59a1a145d76334aa27d1d521e4b6aef9aab72a4b
[root@bogon ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1ef9a36217b tomcat "catalina.sh run" 34 seconds ago Up 33 seconds 0.0.0.0:8888->8080/tcp loving_edison
在外部浏览器中访问http://192.168.0.113:8888/,就会发现现在能够正常访问了
注意:此处能够正常访问,是因为已经把虚拟机的防火墙关闭了,通过以下命令可以查看防火墙状态
[root@bogon ~]# service firewalld status
Redirecting to /bin/systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
可以看到防火墙是关闭的,自己安装的虚拟机需要特别注意下,正常的需要对应开放相应的端口,此处为了方便直接把防火墙关闭了
关闭防火墙:
[root@bogon ~]# service firewalld stop
查看日志:
[root@bogon ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1ef9a36217b tomcat "catalina.sh run" 7 minutes ago Up 7 minutes 0.0.0.0:8888->8080/tcp loving_edison
[root@bogon ~]# docker logs f1ef9a36217b
02-Dec-2018 10:47:12.040 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.35
02-Dec-2018 10:47:12.041 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Nov 3 2018 17:39:20 UTC
02-Dec-2018 10:47:12.041 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.35.0
02-Dec-2018 10:47:12.041 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
02-Dec-2018 10:47:12.041 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 3.10.0-327.el7.x86_64
02-Dec-2018 10:47:12.041 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64