docker(一):安裝部署

     上個月主要是把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 p_w_picpaths 

 

 ###啓動一個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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章