1.在docker hub中搜索镜像
docker search nginx
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920122710246-1940801061.png)
2.从docker镜像服务器拉取指定镜像或者库镜像
docker pull docker.io/nginx
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920122534510-1259979505.png)
3.列出系统当前镜像;列出docker容器(虚拟机)
docker images
#列出镜像
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920154220755-373113469.png)
docker ps
#列出正在运行的容器
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920164600435-770075213.png)
docker ps -a
#列出所有容器
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920164630342-492074912.png)
4.基于Nginx镜像,启动Nginx容器(虚拟机)
docker run -itd -p 80:80 docker.io/nginx
# run 全新启动一台容器(虚拟机)
# -i interactive交互模式
# -t tty打开一个终端
# -d daemon后台启动
# -P 开启DNAT映射,将宿主机80映射至容器的80,用户访问宿主机的80端,就相当于访问容器的80端。
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920155004606-426146701.png)
5.查看容器(虚拟机)的IP地址
docker inspect 89bf8256d10d | grep -i ipaddr |tail -1 |awk -F" '{print $4}'
6.关闭容器(虚拟机),启动容器(虚拟机)
docker stop ID
docker start ID
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920160219244-1980016637.png)
7.宿主机上查看docker容器中配置文件(在docker容器上运行命令)
docker exec 89bf8256d10d ls /usr/share/nginx
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920160828140-1369553310.png)
8.从宿主机中拷贝指定文件或目录到容器(虚拟机)中
docker cp index.html 89bf8256d10d:/usr/share/nginx/html/
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920161101722-486947695.png)
9.删除容器(虚拟机),删除镜像
docker rm -f 89bf8256d10d
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920163601102-2128195122.png)
docker rmi ab56bba91343
10.启动容器(虚拟机)时,变更容器的名字
docker run -itd -p 82:80 --name=nginx docker.io/nginx
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920165822226-209871445.png)
11.导出nginx镜像
docker save nginx >nginx.tar
12.进入docker容器(虚拟机)
docker exec -it efe08c139281 /bin/bash
# -i 交互模式
# -t 打开一个终端
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920171921212-1757845923.png)
13.删除所有容器(虚拟机)
docker ps -aq|xargs docker rm -f
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920183753388-1082311648.png)
14.修改镜像的名字(会多出一个镜像,原镜像还存在,若删除原镜像,新多出的镜像也会被删除;若删除新多出的镜像,原镜像还存在)(若删除的话,就删名字)
docker tag nginx nginx-new1
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190920184459933-1815545332.png)
15.docker启动MySQL数据库
docker pull mysql:5.6
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190921092406281-1735878495.png)
docker run -itd -p 3306:3306 mysql:5.6 sleep 9999d
![](https://img2018.cnblogs.com/blog/1625865/201909/1625865-20190921092511629-1497160637.png)
docker exec -it c022f0afe476 /bin/bash
touch /var/run/mysql/mysql.sock
/usr/bin/mysql_install_db --user=mysql --datadir=/var/run/mysqld/
service mysql restart
mysql