最近使用docker的一些小记录

mysql出了需要grant之外,还要修改bind-address

docker 基本命令

docker 中container基于image制作,image类似一个模版,基于某个image制作的contaner都具有和image一样的内容

我们可以根据REPOSITORY来判断这个镜像是来自哪个服务器,如果没有 / 则表示官方镜像,并且在search的时候会标有OFFICIAL,类似于ip:port/repos_name则表示的是私服。

docker pull username/repository<:tag_name> 或者 docker pull repository,pull和push相对应。

5.2 运行出一个container放到后台运行

1
2
3
# docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 2; done"
ae60c4b642058fefcc61ada85a610914bed9f5df0e2aa147100eab85cea785dc

它将直接把启动的container挂起放在后台运行(这才叫saas),并且会输出一个CONTAINER ID,通过docker ps可以看到这个容器的信息,可在container外面查看它的输出docker logs ae60c4b64205,也可以通过docker attach ae60c4b64205连接到这个正在运行的终端,此时在Ctrl+C退出container就消失了,按ctrl-p ctrl-q可以退出到宿主机,而保持container仍然在运行

端口映射

Docker中运行的程序的端口是不能直接访问的,需要映射到本地,通过-p参数实现,例如将6379端口映射到本机的6378端口

容器日志

查看当前容器的日志

docker logs container-name/container-id

我们可以查看之前redis镜像的容器

docker logs test-redis

可以看到redis启动的日志

运行中的容器其实就是一个完备的Linux操作系统,我们可以登录访问当前容器,登录后可以在容器中进行常规的Linux操作。
docker exec -it container-id/container-name bash

系统版本

[root@bogon yum.repos.d]# uname -a
Linux bogon 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@bogon yum.repos.d]# cat /etc/redhat-release
CentOS release 6.8 (Final)

安装EPEL

因为系统自带的repo中不带docker需要安装epel

rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6Server/x86_64/epel-release-6-8.noarch.rpm

安装Docker

yum install -y docker-io

开机自启动与启动Docker

[root@bogon yum.repos.d]# service docker start
Starting cgconfig service: [ OK ]
Starting docker: [ OK ]
[root@bogon yum.repos.d]# chkconfig docker on
[root@bogon yum.repos.d]# chkconfig docker –list
docker 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@bogon yum.repos.d]#

至此docker已经安装完成

docker rm 删除container

docker rmi 删除image

http://blog.csdn.net/permike/article/details/51879578 总结的非常好

已完成
docker pull morrisjobke/docker-swift-onlyone
docker pull kahing/docker-swift
docker pull debian

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

启动container
docker run -d -P -v /srv/node/sdb1/docker/:/swift/nodes -t bouncestorage/swift-aio
通过docker ps 获取端口
然后通过http://127.0.0.1:/auth/v1.0 进行系统的操作和访问
具体的命令形式如下
swift -A http://127.0.0.1:32770/auth/v1.0 -U test:tester -K testing

swift-aio-docker

docker run -it –rm debian bash
-it: 这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。
–rm: 这个参数是说容器退出后随之将其删除

bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell

1
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

Docker Registry 地址[:端口号] 默认docker hub

仓库名为<用户名>/<软件名> ,默认为 library

latest为默认标签