Docker高级使用

 

Docker卸载应用程序

先删除容器,在删除镜像

 

查询容器

docker ps –a

使用容器id删除容器

docker rm 18e672ecd8ed

查询镜像

docker images

使用镜像id删除镜像

docker rmi d23bdf5b1b1b

 

docker ps 命令“

正在运行的容器

 

docker ps -a  查询所有的容器 不论运行与否

 

 卸载:

 先 docker  ps  找到容器的编码

停止掉正在运行的容器 :

docker stop 161e0e09efd0

然后删除掉 docker rm  xxx,yyy,zzz    可以删除多个

 

然后再去删除镜像文件:

docker rmi aa56bf798f56

 

此时没有啦:

 

 

Docker安装Nginx后的配置: 

        通过Docker安装的Nginx配置nginx.conf

        Docker通过容器运行Nginx 安装的目录在容器中       

       查看容器id: docker ps  

        /容器id/etc/nginx            默认情况下安装在容器的etc目录 

容器管理

进入到容器

docker container exec -it 9b0702f0b3fd /bin/bash

默认情况下软件安装的目录的/ect目录下

Exit 退出

cd   etc/nginx

修改 nginx.conf就OK了

  1. 下载Nginx镜像文件

      

docker pull nginx

docker images

       

       2.创建挂载目录

         挂载创建两个目录 进行同步  docker的软件如何修改配置文件?

         是通过容器挂在外部配置文件

        

        首先停止掉容器:  docker stop 9b0702f0b3fd

         然后删除掉容器: 删除掉  docker rm 9b0702f0b3fd

         先创建挂载目录:  mkdir -p /data/nginx/{conf,conf.d,html,logs}  

         然后进入到: data/nginx/conf 创建 nginx.conf的nginx配置文件 (详情看下面 3.编写Nginx配置文件)

 

     注意: 下面指令如果想看日志: 去掉 -d 

         然后使用新的命令:docker run --name mynginx -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

 

         解读上面指令:  使用挂载方式 外部(宿主机)的配置文件覆盖内部容器配置文件 

            data/nginx 宿主机目录

            /etc/nginx/config 容器目录

   

 

      3.编写Nginx配置文件
             

user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

 

## upstream backServer{
## server 192.168.8.159:8080 weight=1;
## server 192.168.8.159:8081 weight=1;
## }

server { ##监听端口号
listen 80;
##监听域名
server_name www.tooov5.com;

location /api-a { ##location拦截请求url地址

###走反向代理
proxy_pass http://192.168.8.159:8080/;
index index.html index.htm;

}

     4.启动容器

      

docker run --name mynginx -d -p 80:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

 

   5. 查看容器

                                                        docker ps

 

 访问:成功

验证下:

进入到容器中: docker container exec -it 9b0702f0b3fd /bin/bash

然后: 

/etc/nginx

  查看:已经同步过来了!

容器和外面保持一致了奥!~~~

 

启动Nginx 容器:

 docker run -d -p 81:80 nginx 

查看

 ps aux|grep nginx

 

 

 

 

Docker玩儿MySQL

    注意一个镜像文件可以多个容器运行哦

    

1.查询mysql版本

docker search mysql

2.下载MySQL5.7版本

docker pull mysql:5.7  (这里选择的是第一个mysql镜像, :5.7选择的5.7版本)

 

此时查看:

3.等待下载完成、创建MySQL容器

docker create --name mysql3308 -e MYSQL_ROOT_PASSWORD=root -p 3308:3306 mysql:5.7

 创建容器名称为mysql3308,密码为root

 

 

  1. 启动容器

               docker start mysql3308  (指定名称哦)

  1. 进入到容器

              docker exec -it mysql3308 bash

  1. mysql连接

              mysql -uroot –p

 

 也可以用客户端连接,3308这个端口哦 注意

 ps: mysql的安装目录 配置文件在etc下面   如果需要配置主从复制 那么把 mysql.cnf   挂载在外部

 

总结Docker常用命令

docker images  查看镜像文件

docker ps  查看正在运行的容器

docker ps –a  查看所有的容器

docker container exec -it f0b1c8ab3633 /bin/bash  进入到容器

exit 退出

docker version  查看版本

docker run -d -p 81:80 nginx 启动nginx容器

docker rmi imgageid 删除镜像

docker rm 容器id 删除容器

 

对于挂载的总结:

  默认情况下安装在 容器的etc目录

  容器挂载外部配置文件 –v

 使用挂载方式,外部的配置文件覆盖内部容器配置文件

 

docker清理未运行的容器:

sudo docker rm $(sudo docker ps -a -q)

 

docker logs --tail="10"  容器名字           查询容器

posted @ 2019-01-31 20:07  toov5  阅读(1233)  评论(0编辑  收藏  举报