Docker

[TOC]

Docker

docker下载不做阐述

http://www.docker.org.cn/book/install/supported-platform-17.html

docker手册

http://www.docker.org.cn/index.html

https://blog.csphere.cn/archives/22

http://www.docker.org.cn/dockerppt/106.html

问答帖子:https://blog.lab99.org/post/docker-2016-07-14-faq.html?tdsourcetag=s_pctim_aiomsg

运行一下docker

docker [选项] 命令

Dcoker基本指令

名词提醒

镜像  images   容器 container    仓库 repository

输出版本信息

docker --version   #或者docker -V

搜索可用的docker镜像(docker search + 镜像名字)

docker search tutorial

当然你也可以去具体的网址上查看可用镜像 index.docker.io

下载镜像(docker pull +镜像名或者 用户名/镜像名)

docker pull learn\tutorial

运行容器(docker run [选项] image [命令] ([版本]))

docker run learn/tutorial echo "hello world"
docker run ubuntun:laster apt-get install -y python  #在ubuntu容器中下载python

--rm 退出容器时自动删除这个容器

-it 交互并保定tty

-d 后台运行模式

--name 指定容器的名称

-p 指定端口 [主机端口:容器端口]

-P 暴露所有dockerfile中EXPOSE的端口 #建议使用这个

-e 指定环境变量

--link 连接了第一个容器 在第二个容器的/etc/hosts 文件下会有第一个容器的ip和名称

-v 指定卷

保存对容器的修改(docker commit [选项] 指定容器 [容器名字[:版本]]

docker commit 394 dd:4

指定容器可以是容器名字也可以是容器id前几位(只要能分辨是唯一就可以了)

成功输出内容为一串sha256

查看所有正在运行中的容器列表(docker ps [选项])

docker ps


-a #显示所有的容器,包括未运行的

-l #显示最近创建的容器

-n #显示最近创建的n个容器

-q #静默输出,只显示容器编号

-s #显示总的大小

查看更详细的关于某一个容器的信息(docker inspect [选项] 指定容器)

dockers inspect  377

发布网站(docker push [选项] 容器名字:版本) 这里不可以使用id指定

docker push learn\tutorial:33

停止运行的容器(docker stop [选项] 容器)

-t 或者 --time 倒计时暂停

删除已停止的容器(docker rm [选项] 容器)

查看容器的日志 (docker logs [选项] 容器)

进入容器内部(docker exec [选项] 容器 命令 [版本标记])

docker exec -it 037 /bin/bash

进入容器内部2(docker attach 容器id) #不建议使用

​ 但在,使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作

因为这个原因,所以docker attach命令不太适合于生产环境,平时自己开发应用时可以使用该命令。

进入容器内部3(ssh)

https://www.oschina.net/translate/why-you-dont-need-to-run-sshd-in-docker?cmp

docker build [选项] PATH | URL | -

docker build -t testdocker:v1 -f /home/For_docker/Dockerfile .

-t 标记版本标签

-f 指定要使用的dockerfile路径

常用指令

docker ps #查看运行容器

docker ps -a #查看所有容器

docker stop $(docker ps -q) #停止所有容器

docker rm $(docker ps -aq) #删除所有容器

docker stop (docke ps -q )   & docker rm $(docker ps -aq)  #停止所有容器并删除  

使用docker使用wordpress

1.安装MySQL

docker pull mysql(不写版本号,默认安装latest)

2.安装wordpress

docker pull wordpress

3.运行mysql

docker run --name some_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

MYSQL_ROOT_PASSWORD指定了root的密码

另外如果运行了上面的内容,但是使用docker ps 发现没有运行,但是在docker ps -a发现了容器的存在时,可能时代码打错了。

4.运行wordpress

docker run --name some_wordpress --link some_mysql:mysql -p 8080:80 -d wordpress

--link 用于连接两个容器(A和B) 如果容器B连接了容器A,那么link会传递容器A的名字和id给容器B

some_mysql 为mysql的容器名 mysql为some_mysql容器在some_wordpress容器中的名字

-p 用户端口映射 这里将some_wordpress容器内部的80端口映射到docker的8080端口

这时候访问 服务器ip+docker的8080端口就可以访问wordpress了

你可能感兴趣的:(Docker)