docker常用命令和操作以及Wekan开源项目部署

来源:互联网 发布:三角洲部队 百度软件 编辑:程序博客网 时间:2024/05/16 04:24

http://man.linuxde.net/cat

Docker 常用命令

docker ps -a //显示所有容器
docker ps //显示运行中的容器
docker start <容器ID> //启动容器
docker stop <容器ID> //停止容器
docker rm <容器ID> //删除指定容器
docker rm $(docker ps -a -q) //删除所有容器
docker images //显示所有镜像
docker rm <镜像仓库名> //删除镜像(image)
docker rename <容器名> <新容器名> //容器重命名
docker pull ubuntu:下载镜像
docker run -i -t ubuntu /bin/bash:运行ubuntu镜像
docker run <相关参数> <镜像 ID> <初始命令>
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,
格式:-v <宿主机目录>:<容器目录>

容器镜像操作

//创建并启动容器,一个仓库可能对应多个版本的镜像,
//通过 仓库名:镜像名 来指定用哪个镜像
docker run -t –name <容器名> <仓库名>:<镜像名>
//用容器创建一个镜像
//仓库名类似分组,用于组织镜像,标签类似git的标签,用于标记版本
docker commit -m <”提交日志”> -a <”作者”> <容器ID> <仓库名>:<标签>
//进入容器的 shell 环境
docker exec -i -t <容器ID> /bin/bash
//检查容器配置
docker inspect <容器ID>
docker commit 3a09b2588478 ubuntu:mynewimage:提交你的变更,
并且把容器保存成Tag为mynewimage的新的ubuntu镜像.
(注意,这里提交只是提交到本地仓库,类似Git)
sudo docker run ubuntu /bin/echo hello world
docker: Docker 的二进制执行文件。
run:与前面的 docker 组合来运行一个容器。
ubuntu 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo “Hello world”: 在启动的容器里执行的命令
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。

启动容器(后台模式) docker run -d ubuntu:15.10 /bin/sh -c “while true; do echo
hello world; sleep 1; done”

docker ps 查看 CONTAINER ID:容器ID docker logs 2b1b7a428627 停止容器 docker
stop ID

查看命令 docker 详细但单个命令 docker stats –help

sudo docker ps -a 查看容器列表

sudo docker commit 39b2cf60a4c1 hello-world 提交一个新的镜像

sudo docker inspect hello-world 查看新创建的镜像的详细信息

下载一个ubuntu镜像

sudo docker pull ubuntu

使用ubuntu运行一个交互性的shell

sudo docker run -i -t ubuntu /bin/bash

docker ps命令

sudo docker ps #列出当前所有正在运行的container
sudo docker ps -l #列出最近一次启动的,且正在运行的container
sudo docker ps -a #列出所有的container

port命令

docker run -p 80:8080 #映射容器的8080端口到宿主机的80端口

删除容器命令

sudo docker rm sudo docker ps -a -q#删除所有容器
sudo docker rm $CONTAINER_ID#删除容器id为CONTAINER_ID的容器

其他命令快速参考:

sudo docker images  查看本地镜像 sudo docker attach $CONTAINER_ID docker logs $CONTAINER_ID  $CONTAINER_ID  查看container的实例属性,比如ip等等

http://blog.shiqichan.com/Dockerizing-a-Node-js-Web-Application/

——————mongo——————

查找Docker Hub上的mongo镜像

runoob@runoob:~/mongo$ docker search mongo

runoob@runoob:~/mongo$ docker pull mongo:3.2

——–使用mongo镜像———
运行容器

runoob@runoob:~/mongo$ docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:3.2

-p 27017:27017 :将容器的27017 端口映射到主机的27017 端口

-v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录 查看容器启动情况

runoob@runoob:~/mongo$ docker ps

使用mongo镜像执行mongo 命令连接到刚启动的容器,主机IP为192.168.142.129

docker run -it mongo:3.2 mongo –host 192.168.142.129

镜像–>容器–>虚拟主机
$PWD/db:/data/db

——-使用mongo容器 === 执行shell命令———-

docker exec -it <容器名或ID> <命令行命令> <参数>

sudo docker exec -it 8d7f41427cc9 /bin/bash
密码:
mongo

use admin

show collections

db.users.find()

———————nodejs————————–

查找Docker Hub上的mongo镜像
docker search node

docker pull node:7.8

安装npm
sudo npm install

用Docker里的nodejs跑这个Web Application了(在项目的根目录下)
sudo docker run –rm -it -p 3000:3000 –name ProtoWebApp -v “$(pwd)”:/webapp -w /webapp node:7.8 npm start

-v后:分割的路径,前者表示宿主的路径(在这里也就是expressjs项目的主目录),后者表示映射到Docker容器的路径。-w,表示将-v映射的/webapp目录设置为work directory,也就是运行node命令的目录。这个设置将覆盖Dockfiie中的设置:/Data。

如果需要让Docker容器跑在后台,可以加上-d
sudo docker run –rm -itd -p 3000:3000 –name ProtoWebApp -v “$(pwd)”:/webapp -w /webapp node npm start


———————-WeKan——————————
//-p 指定端口映射规则,这样在外部可以通过docker主机IP访问mongo
//-i 是否使用交互式命令行(例如在容器启动时,执行shell脚本)
//-t 表示启用伪终端(TTY)
//-d 表示容器在后台运行
//-v 创建一个卷并绑定挂载点(类似目录映射,实现host和container文件共享)
docker run -p <主机端口>:<容器端口> -td <镜像ID或镜像名>

1.移除所有容器
sudo docker rm sudo docker ps -a -q

2.WEKAN 开源项目的部署
docker run -d -v /path-to-save-mongo-data:/data/db –name wekan-db mongo

docker run -d --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://example.com" -p 8080:80 mquandalle/wekan

https://docs.docker.com/compose/overview/

———————–Dockerfile————————
1.用dockerfile定义应用程序的环境,类似集装箱,运行在任何地方


———————-docker-compose.yml——————
2.定义docker-compose组成应用程序的服务.yml,这样他们可以在一起在一个孤立的环境中运行。


———————–docker-compose up——————
3.最后,docker-compose起来组成将开始运行,运行您的整个应用程序

    Start, stop and rebuild services    View the status of running services    Stream the log output of running services    Run a one-off command on a service

安装docker-compose:

$sudo apt-get -yqq install aptitude  $sudo aptitude -y install python-pip  $sudo pip install docker-compose  $sudo docker-compose version

cd /path-to-save-mongo-data
docker-compose up 前台
docker-compose start 后台


————————–SSH免密码scp———————-
sudo apt-get install ssh
sudo apt-get install openssh-server

0 0
原创粉丝点击