上个月主要是把svn迁移回来本地,以及编写相关的处理脚本,然后就是安装部署docker,在本地服务器安装部署docker,然后部署环境给测试用,以及重新编写一些发布脚本,以及启动脚本。以下为docker的安装步骤:


在Ubuntu服务器上面的安装步骤:

1.0###配置docker.list:

sh -c "echo deb https://get.docker.io/ubuntu docker main >/etc/apt/sources.list.d/docker.list"     

 

2.0###下载公钥:

curl -s https://get.docker.io/gpg | sudo apt-key add -                                                                             

 

3.0###没公钥就自己配置:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D8576A8BA88D21E9                

 

4.0###更新apt源:

apt-get update                                                                                                                                    

 

5.0###下载安装docker和以及一些必需的软件包:

apt-get install lxc-docker -y                                                                                                                  

 

6.0###检查

docker info


以下为基础操作命令:

 

 ###查找centos镜像:

docker search centos

 

###查看以下载的镜像:

docker images 

 

 ###启动一个centos系统的容器并命名为docker-ceshi。其中-i 交互模式,-t伪终端,-d后台运行:

docker run -itd --name docker-ceshi centos /bin/bash 

 

###查看正在运行的和停止的容器:

docker ps -a 

 

###查看刚生成的容器

docker ps -l 

 

###进入刚生成的容器docker-ceshi   ,例如进入ceshi,命令如下:

docker-enter docker-ceshi 

要退出容器直接输入exit即可。

###其中进入容器是使用docker-enter命令的,脚本如下:

#!/bin/sh
if [ -e $(dirname "$0")/nsenter ]; then
# with boot2docker, nsenter is not in the PATH but it is in the same folder
NSENTER=$(dirname "$0")/nsenter
else
NSENTER=nsenter
fi
if [ -z "$1" ]; then
echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
echo ""
echo "Enters the Docker CONTAINER and executes the specified COMMAND."
echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
PID=$(docker inspect --format "``.`State`.`Pid`" "$1")
if [ -z "$PID" ]; then
exit 1
fi
shift
OPTS="--target $PID --mount --uts --ipc --net --pid --"
if [ -z "$1" ]; then
# No command given.
# Use su to clear all host environment variables except for TERM,
# initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
# and start a login shell.
"$NSENTER" $OPTS su - root
else
# Use env to clear all host environment variables.
"$NSENTER" $OPTS env --ignore-environment -- "$@"
fi
fi

##################end#################################

 做容器的端口映射:

docker run -itd --name ceshi1  -p 1000:80  centos /bin/bash      

        

本机docker主服务器ip为:192.168.0.168,要访问ceshi1的80端口,在浏览器输入:

192.168.0.168:80