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了
- 下载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配置文件)
然后使用新的命令: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
- 启动容器
docker start mysql3308 (指定名称哦)
- 进入到容器
docker exec -it mysql3308 bash
- 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高级使用的更多相关文章
- Docker(五):Docker高级网络配置
1.容器跨主机多子网方案 网络设计如下: 主机1:10.110.52.38 容器1: 192.168.0.1 vlan1 容器2: 192.168.0.2 vlan2 主机2:10.110.52.66 ...
- 02: docker高级篇
1.1 Docker Compose 1.Docker Compose 介绍 1. Compose是一个定义和管理多容器的工具,使用Python语言编写. 2. 使用Compose配置文件描述多个容器 ...
- docker高级应用之cpu与内存资源限制(转)
时间:2015-06-09 14:01:52 阅读:1581 评论:0 收藏:0 [点我收藏+] 标签:docker资源限制 docker cpu限制 ...
- Docker系列一之基础快速入门企业实战
1.1什么是LXC LXC为Linux Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...
- docker 基础之网络管理
docker网络基础. docker使用到的与linux网络有关的主要技术 Network Namespace(网络命名空间) Veth设备对 Iptables/NetFilter 网桥 路由 标准的 ...
- Docker&K8S&持续集成与容器管理--系列教程
前言 网络虚拟化 一 Docker简介 Docker介绍 → B站视频链接 Docker架构 → B站视频链接 二 Docker安装 Ubuntu Docker 安装 CentOS Docker ...
- [Docker01] The Docker Road
The Docker Road Docker是什么? Docker是docker容器为资源分隔和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建,发布和运行分布式应用的平台 ...
- 十本你不容错过的Docker入门到精通书籍推荐
前言: 最近有许多小伙伴私信让我推荐几本关于Docker学习的书籍,今天花了一下午的时间在网上查阅了一些资料和结合自己平时工作中的一些学习参考资料书籍写下了这篇文章.注意以下书籍都是十分优秀的Dock ...
- Java架构师必备技能:docker使用大全
前言 java工程师成长为架构师是一个艰难且耗费心力的过程,不仅仅需要熟悉java体系内相关的技术,同时要掌握许多运维相关的操作技能,随着k8s逐渐成为微服务持续集成开发难以越过的基础设施之后,d ...
随机推荐
- springMVC的url-pattern /和/*的区别
总之,关于web.xml的url映射的小知识: <url-pattern>/</url-pattern> 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样 ...
- IDEA 设置代码模板
一.代码模板 参考: IntelliJ IDEA 使用(一)基本设置与类.方法模板设置 - 云 + 社区 - 腾讯云 文件代码模板的使用 - IntelliJ IDEA 使用教程 - 极客学院 Wik ...
- tomcat的虚拟目录映射常用的几种方式
我们在项目部署的时候,可以采用多种方式,接下来我们将在实际中比较常用的几种方式总结如下. 1.可以直接将我们的项目丢到tomcat的webapps目录下,这样当tomcat重启的时候,我们就可以访 ...
- Powershell计算时间间隔(New-TimeSpan)
在Windows PowerShell里New-TimeSpan cmdlet提供了一种方法做日期算法. 计算时间间隔: 这个命令告诉你今天的日期与2006年除夕之间的天数: New-TimeSpan ...
- easyui的datagrid无数据时下方滚动条不显示的解决办法(标题栏显示不完全)
easyui在写datagrid的时候标题栏有时候因为太多.太长所以无法显示所有的列,而且没数据的时候下方的滚动条是不显示的,这样就无法显示所有的列了.解决办法如下: onLoadSuccess: f ...
- 支付宝SDK的使用方法
前奏 现在随着移动开发的快速发展,越来越多的应用要求在线支付功能.最近做了一个关于支付宝支付功能的应用,在使用支付宝的过程中,遇到一些不必要的弯路,因此,写了这篇文章总结一下关于ios开发如何使用支付 ...
- Replay attack 回放攻击
w http://baike.baidu.com/item/重放攻击 重放攻击(Replay Attacks)又称重播攻击.回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一 ...
- Python3+Selenium3自动化测试-(五)
这里来说一说selenium中的等待方式,其实在webdriver只有两种类型等待方式,显式等待和隐式等待,之前是在程序运行过程中使用time模块中的sleep进行代码的休眠进行强制等待,是显式等待中 ...
- (4.9)SQL Server 数据库规范
SQL Server 数据库规范 一. 命名规范 常用对象命名规范,使用帕斯卡命名法(Pascal,单词首字母大写),统一使用英文. 1. 表.英文单数名词,尽量写完整单词名 ...
- An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: TCP ...