docker安装
- sudo yum update
- sudo yum install -y yum-utils device-mapper-persistent-data 1vm2
- sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- sudo yum install docker-ce
- docker -v
docker的停止与启动
- 启动:systemctl start docker
- 停止:systemctl stop docker
- 重启:systemctl restart docker
- 查看状态:systemctl status docker
- 开机启动:systemctl enable docker
docker的信息查看:
docker info
docker帮助信息
docker help
docker镜像
- 查看镜像: docker images
- 搜索镜像: docker search [镜像名]
例如: docker search centos - 拉取镜像: docker pull [镜像名]
例如: docker pull centos:7 - 删除镜像:
删除镜像所对应的所有容器:docker rm [容器名或者ID]
删除镜像:docker rmi [镜像ID] - 删除所有镜像: docker rmi 'docker images -q' (注意:这里的 ' 是键盘左上角的 ` 符号
docker容器
- 查看容器: docker ps -a
- 查看运行容器: docker ps
- 创建容器: docker run [命令]
-i : 表示运行容器
-t : 容器启动后进入命令行
--name : 为容器命名
-v : 目录映射关系
-d : 创建守护式容器在后台运行
-p : 端口映射
例如:
交互式方式创建容器:
docker run -it --name=mycentos centos:7 /bin/bash
守护式方式创建容器:
docker run -di --name=mycentos2 centos:7 /bin/bash - 进入容器: docker exec -it mycentos2 /bin/bash
- 退出容器 : exit
- 停止容器: docker stop [容器名或者ID]
例如: docker stop mycentos2 - 启动容器: docker start [容器名或者ID]
例如: docker start mycentos2 - 文件拷贝
例如:
将a.txt文件拷贝到docker容器/usr/local目录里面:docker cp a.txt mycentos2:/usr/local
将a.txt文件从docker容器拷贝出来:docker cp mycentos2:/usr/local/a.txt /home/dev/ - 文件挂载
将dapp.html文件和docker里面文件做映射关系
例如:
docker run -di --name=mycentos3 -v /var/www/html/dapp.html:/var/www/html/dapp.html centos:7
查看挂载的信息:docker inspect [容器名]
例如:
docker inspect mycentos3
提取挂载信息里面某个字段:
例如:
docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos3 - 删除容器
停止运行的容器: docker stop [容器名或者ID]
删除容器: docker rm [容器名或者ID]
应用部署
- mysql 部署
拉取mysql镜像:docker pull centos/mysql-57-centos7
创建mysql容器:
docker run -di --name=docker_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7
如果是云服务器,打开安全组配置,开放33306端口
本地用工具连接mysql - tomcat 部署
拉取tomcat镜像:docker pull tomcat:7-jre7
创建容器并挂载:
docker run -di --name=docker_tomcat -p 9000:8080 -v /usr/local/tomcat/apache-tomcat-8.5.35/webapps:/usr/local/tomcat/apache-tomcat-8.5.35/webapps tomcat:7-jre7
如果是云服务器,打开安全组配置,开放9000端口
浏览器访问:ip:9000 - nginx 部署
拉取nginx镜像:docker pull nginx
创建nginx容器:docker run -di --name=docker_nginx -p 90:80 nginx
nginx修改配置文件地址: /etc/nginx/conf.d/default.conf
拷贝文件到nginx目录下:docker cp /var/www/html/dapp.html docker_nginx:/usr/share/nginx/html/ - redis 部署
拉取redis镜像:docker pull redis
创建redis容器:docker run -di --name=docker_redis -p 16379:6379 redis
容器迁移与备份
- 容器保存为镜像:
docker commit docker_nginx docker_nginx_1 - 启动新镜像:
docker run -di --name=docker_nginx_2 -p 81:80 docker_nginx_1 - 浏览器访问:ip:81
- 镜像备份:
docker save -o docker_nginx_1.tar docker_nginx_1 - 在当前目录下就会生成docker_nginx_1.tar文件
- 镜像恢复与迁移:
将生成的docker_nginx_1.tar文件拷贝到另一台服务器
恢复镜像:docker load -i docker_nginx_1.tar
查看是否恢复: docker images