docker-linux下的部署和基本命令Docker 安装
官⽅⽹站上有各种环境下的安装指南,⽐如:、和 Debian 系列的安装。
⽽我们现在主要介绍的是基于 CentOS 7.x 上⾯的安装。
1、查看是否已经安装过docker
[root@shihaibin ~]# yum list installed | grep docker
docker.x86_64                        2:1.12.6-55.s @extras
docker-client.x86_64                2:1.12.6-55.s @extras
docker-common.x86_64                2:1.12.6-55.s @extras
2、以上表⽰已经安装过,删除docker
[root@shihaibin ~]# yum remove –y docker.x86_64
[root@shihaibin ~]# yum remove –y docker-client.x86_64
[root@shihaibin ~]# yum remove –y docker-common.x86_64
3、安装docker(-y 表⽰静默安装,安装过程不再询问)
[root@shihaibin ~]# yum install -y docker
4、启动docker
[root@shihaibin ~]# systemctl start docker.service
5、停⽌docker
[root@shihaibin ~]# systemctl stop docker
6、查看当前docker状态
[root@shihaibin ~]# systemctl status docker
Docker 镜像
7、拉取镜像
7.1、从 docker hub 拉取
下⾯的例⼦将从Docker Hub 仓库下载⼀个 Tomcat 7 版本的服务器镜像。
[root@shihaibin ~]# docker pull tomcat:7
这是docker默认的公⽤仓库,不过缺点是国内下载会⽐较慢。
docker打包镜像
7.2、从 163 拉取(建议使⽤)
在宿主机器编辑⽂件:vi /etc/docker/daemon.json
请在该配置⽂件中加⼊(没有该⽂件的话,请先建⼀个):
{"registry-mirrors": ["163"]}
最后,需要重启 docker 服务
[root@shihaibin ~]# systemctl restart docker
之后再使⽤ pull 命令拉取镜像,这时候是从 ustc 获取镜像,⽽且速度杠杠的。
8、列出镜像
docker images
[root@shihaibin ~]# docker images
9、删除镜像
docker rmi 镜像
[root@shihaibin ~]# docker rmi tomcat:7
注意:当镜像创建的容器存在时,⽆法删除镜像⽂件,需要先删除依赖该镜像的所有容器,再删除镜像。
10、导⼊导出镜像
导出镜像:docker save 镜像 > /root/
导⼊镜像:docker load < /root/
Docker 容器
11、启动容器
以交互⽅式启动容器:docker run -it --name 容器名称镜像 /bin/bash
[root@shihaibin ~]# docker run -it --name mytomcat tomcat:7 /bin/bash
[root@28cc2a4f8c90 /]#
退出容器
[root@28cc2a4f8c90 /]# exit
exit
[root@shihaibin ~]#
以守护进程⽅式启动容器:docker run -d --name  容器名称镜像
[root@shihaibin ~]# docker run -d --name mytomcat tomcat:7
f9b59aed3c7de509d6c9d9cc14c3d7774fc50f250b70661a4354df948588393b
[root@shihaibin ~]#
12、停⽌容器
docker stop 容器名称或者容器ID
[root@shihaibin ~]# docker stop mytomcat
13、重启容器-要先stop
docker start 容器名称或者容器ID
[root@shihaibin ~]# docker start mytomcat
13、重启容器
docker restart  容器名称或者容器ID
[root@shihaibin ~]# docker restart  mytomcat
14、删除容器
删除指定容器:docker rm 容器名称或者容器ID
删除所有容器:docker rm 'docker ps -a -q'
15、查看容器
docker ps:查看正在运⾏的容器
[root@shihaibin ~]# docker ps
docker ps –a:查看历史运⾏过的容器
[root@shihaibin ~]# docker ps –a
进⼊docker容器的⽅法
 命令:docker exec -it 容器id /bin/sh
Docker 应⽤
16、搭建 Tomcat 服务
docker run -d --name=mytomcat -p 9000:8080 镜像
注:-v /usr/local/webapps:/usr/local/tomcat/webapps  共享宿主机⽬录与容器⽬录。此操作可以去除。通过 docker cp命令上次要运⾏的war包[root@shihaibin ~]# docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:8
e7338892631f6a32513828efdcdf9556b55a154537001557d9780a1f7867ed95
[root@shihaibin ~]#
17、部署 Web 应⽤
两种⽅式:
1、将 war 包上传到宿主机器,通过 docker cp 命令将宿主机器的 war 包上传到容器中的 tomcat 的 webapps ⽬录下
以交互界⾯的⽅式进⼊容器中
[root@shihaibin ~]# docker exec -it mytomcat /bin/bash
root@020c28055968:/usr/local/tomcat# ls
LICENSE  RELEASE-NOTES  bin  include  logs            temp    work
NOTICE      conf  lib      native-jni-lib  webapps
root@020c28055968:/usr/local/tomcat# exit
exit
[root@shihaibin ~]# docker cp a.war mytomcat:/usr/local/tomcat/webapps
[root@shihaibin ~]#
2、根据共享⽬录直接把代码放到共享⽬录。例:-v /usr/local/webapps:/usr/local/tomcat/webapps
tomcat 会⾃动热部署,直接访问 Web 应⽤的路径即可。
18、安装mysql
1.安装mysql5.7 docker镜像
拉取官⽅mysql5.7镜像
docker pull mysql:5.7
查看镜像库
docker images
2.创建mysql容器
在本地创建mysql的映射⽬录
mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
在/root/mysql/conf中创建 *f ⽂件(叫什么都⾏)
touch myf
创建容器,将数据,⽇志,配置⽂件映射到本机
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1 -d: 后台运⾏容器
-p 将容器的端⼝映射到本机的端⼝
-v 将主机⽬录挂载到容器的⽬录
-e 设置参数
注意最后参数是区分⼤⼩写配置,设置为不区分,mysql默认区分。
启动mysql容器
docker start mysql
查看/root/mysql/data⽬录是否有数据⽂件
使⽤⼯具连接测试
19、安装nginx
1.安装nginx
[root@shihaibin ~]# docker run -di --name=mynginx -p 80:80 nginx
cc6dc8d9adf896f2e491719a4ec57424f42f27e564e448b3ae42a28587f8aca5
2.部署静态页⾯,使⽤docker cp 要拷贝的⽂件  mynginx:/usr/share/nginx/html
这样就可以访问了。
20、安装redis
1.安装
[root@shihaibin webapps]# docker run -di --name=myredis -p 6379:6379 redis
46f535d75fedf2e2fcf82a85e2e745c71a6dfee431c703130ec4d9d38b0ee838
21、迁移与备份
21.1容器保存为镜像:
(1).容器保存为镜像
[root@shihaibin local]# docker commit mynginx mynginx_1
sha256:c9d3d9ad7770c77a9e9fbe47d91dbaca6a785efc7801143fc772aadf17560a54
(2).部署镜像为容器
[root@shihaibin local]# docker run -di --name=mynginx2 -p 81:80 mynginx_1
a7b9bb12eb831aeedb87adc0bc02da7a962945526e2c4020d8134353fee9968d (3).访问容器。⾥⾯包含容器⾥的已经配置好的内容
只是端⼝发⽣变化。但是容器中之前的配置都被保留了。
21.2镜像备份
[root@shihaibin ~]# docker save -o mynginx.tar mynginx_1
21.3镜像恢复
[root@shihaibin ~]# docker load -i mynginx.tar

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。