Docker使用入门
docker images 查看本地镜像
docker ps -a 查询容器
docker ps -l 查询最近使用容器
docker rm CONTAINER_ID 删除容器
docker rmi IMAGE_ID 删除镜像
docker cp [OPTIONS] SRC_PATH CONTAINER_ID:DEST_PATH 上传文件/文件夹
docker start CONTAINER_ID 启动容器
docker stop CONTAINER_ID 退出容器
docker kill CONTAINER_ID 强制退出容器
docker attach CONTAINER_ID 登录已启动容器
docker commit CONTAINER_ID xxxx/xxxxx[:xx] 保存对容器的修改
docker inspect CONTAINER_ID 查看容器的信息
ctrl+d 退出且关闭容器
ctrl+p,q 退出但不关闭容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
docker run -it -p xxxx:xxxx xxx/xxx /bin/bash
docker rm 失败 容器处于dead状态:
根据docker rm失败产生的最后一串由字母与数字组成的字符串s,在命令行中输入grep [s]找到相关进程pid,然后kill [pid]。
最后再次grep [s],如果没有相关进程显示,即可以正常docker rm删除容器。
docker run -it -p 8080:8080 docker.io/golang bash 根据golang镜像产生一个新容器
docker run -it -p 8080:8080 -v /root/golang/go:/go -v /root/golang/code:/code --privileged docker.io/golang bash 把本地目录映射到容器中
容器中的web应用监听的是容器端口,不同容器可以映射相同的容器端口,但是宿主机监听端口不能重复。
docker配置redis服务:
docker pull redis
docker run -it -p 56379:6379 docker.io/redis /bin/bash
exit
dokcer ps -l
docker exec -d CONTAINER_ID redis-server
docker配置mysql服务:
docker run -e MYSQL_ROOT_PASSWORD=123456 -p 53306:3306 -d docker.io/mysql
如果发现在容器中可以连接上数据库,而Navicat 远程连接docker容器中的mysql出现报错1251 - Client does not support authentication protocol
解决办法:https://blog.csdn.net/sinat_38345188/article/details/80838098
docker后台运行go webapi:
docker start webapi1
docker start webapi2
docker exec -d webapi1 bash -c "cd ../code/main && go run *.go"
docker exec -d webapi2 bash -c "cd ../code/main && go run *.go"
docker配置nginx服务:
docker run -it -p 80:80 docker.io/nginx bash
cd etc/nginx
vim nginx.conf
在http段加入以下代码
upstream 192.168.200.3{
server 192.168.200.3:8081;
server 192.168.200.3:8082;
}
cd conf.d
在etc/nginx/conf.d中运行vim default.conf
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://192.168.200.3;
}
重新启动nginx服务即可。
Docker使用入门的更多相关文章
- 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】
最近对docker这个比较感兴趣,找一个比较完整的书籍看看,在z.cn上找到了电子书,jd dangdang看来要加油啊 Docker技术入门与实战 [Kindle电子书] ~ 杨保华 戴王剑 曹亚仑 ...
- docker-9 supervisord 参考docker从入门到实战
参考docker从入门到实战 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机 ...
- Docker 简单入门
Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737
- Docker快速入门
Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...
- Docker安装入门 -- 应用镜像
Docker安装入门 -- 应用镜像 WordPress 1.docker build -t csphere/wordpress:4.2 . 2.docker run -d -p 80:80 -- ...
- Docker安装入门 -- 中间件镜像
Docker安装入门 -- 中间件镜像 php-fpm 1.docker build -t csphere/php-fpm:5.4 . //在当前目录下创建镜像 2.docker run -d - ...
- Docker新手入门:基本用法
Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少 ...
- Docker快速入门(二)
上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker ...
- Docker 从入门到实践(一)Docker 简介
读前须知:本教程大部分都是[Docker 从入门到实践 ]一书的知识,有兴趣可以直接观看书籍.同时,借鉴书籍的知识,如有侵权,请告知我,我会删除处理.谢谢. 一.什么是 Docker? Docker ...
- Docker基础入门
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
随机推荐
- 3.HTML DOM
介绍 DOM(Document Object Model)文档对象模型,定义了访问 HTML 和 XML 文档的标准,它允许程序和脚本动态地访问和更新文档的内容.结构和样式. 那显然,HTML DOM ...
- EF--payload or not
负载加载非负载加载适用于多对多场境. 一.非负载(payload-free)加载 1.1创建表 create table Album ( AlbumId ,), AlbumName ) ) creat ...
- Ubuntu、Windows 、Linux集合
一.Ubuntu/Windows双系统修复引导 首先说明:在Windows存在的前提下安装Ubuntu(或者Ubuntu系列)是不需要修复引导的.因为grub会自动搜索存在硬盘中的系统. 而在 ...
- Spark job执行流程消息图
Spark job执行流程消息图 1.介绍
- jQuery-prepend、append、before、after的区别
举例说明,原始html代码如下: <ol> <li>List item 1</li> <li>List item 2</li> <li ...
- Html : 规范html代码的网站
html代码的规范也是很重要的,这里推荐一个网站,很好用,仓鼠是经常用的啦! https://htmlformatter.com/ 以上
- Python 语法基础
之所以学习Python,第一个是他比较简单,寒假时间充裕,而且听说功能也很不错,最重要的是,我今年的项目就要用到它. 而且刘汝佳的书上说到,一个好的Acmer要是不会一点Python那就是太可惜了.废 ...
- ubuntu 报错E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unav E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process us
1.配置xshell,查看虚拟机中ubuntu中网络ip ifconfig 报错 Command 'ifconfig' not found, but can be installed with: su ...
- hbase的coprocessor使用(转)
http://www.360doc.com/content/13/0320/09/4675893_272623864.shtml
- C# 复合赋值操作符
前面讲过如何使用算术操作符来创建新值.例如,以下语句使用操作符+来创建比变量answer大42的一个值,新值将写入控制台: Console.WriteLine(answer + 42); 前面还讲过如 ...