docker实践之测试环境容器创建

一、创建基础镜像

测试环境所需:centos操作系统、jdk1.7、缓存服务器aerospike

1、pull centos镜像

docker pull centos

2、通过centos镜像创建我们的容器

  • 【方式A】创建容器,通过commit创建镜像

    docker run -it centos

    创建容器,且进入容器
    ===此时,安装jdk,安装as(装你需要安装的东西,安装完成后,记得把不再需要的安装包及其他文件删掉)

    docker commit 容器id centos/jdk1.7_xxx

    新的镜像创建成果,通过docker images可查看

  • 【方式B】通过dockerfile创建

二、创建测试环境容器

1、提前规划好容器需要暴露的端口号

举例:
|-暴露端口-|-容器内部端口-|
|-1001-|9180-|

2、创建容器

docker run -d -p 暴露端口:容器内端口 --privileged=true --name 容器名称 镜像名称
注:若容器内部不需要service命令启动服务,可以不加--privileged=true参数

三、使用容器

1、查看容器信息

查看容器运行情况:docker ps -a
查看容器ip:docker inspect 容器ID |grep IPA

2、连接进入容器

【ssh】
默认密码:123456
ssh root@容器ip
或ssh [email protected] -p 6000
【nsenter】
PID=$(docker inspect --format "{{ .State.Pid }}" [容器id])
nsenter --target $PID --mount --uts --ipc --net --pid

3、文件传输

1)先把包传到docker宿主机服务器的某个路径上,再传到容器里

scp -r 宿主机文件夹路径 [email protected]:容器文件夹路径
scp 宿主机文件路径 [email protected]:容器文件夹路径
举例:scp -r /home/soft/ [email protected]:/home/
scp /home/soft/11.txt [email protected]:/home/

2)包在别的服务器上,传到容器里

scp -P 6000 -r 文件夹路径 root@宿主机服务器:容器文件夹路径
scp -P 6000 文件路径 root@宿主机服务器:容器文件夹路径
举例:scp -P 6000 -r /home/soft/ [email protected]:/home/
scp -P 6000 /home/soft/11.txt [email protected]:/home/

4、字符替换

sed -i "s/旧/新/g" `grep '旧' -rl /home/hornetq/`

举例:
sed -i "s/172.17.0.34/172.17.0.7/g" `grep '172.17.0.34' -rl /home/hornetq/`

sed -i "s/10.100.1.150/172.17.0.15/g" `grep '10.100.1.150' -rl /home/hornetq/`

三、其他

1、后续新增端口映射:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 6305 -j DNAT --to-destination 172.17.0.31:5445
iptables-save
iptables -t nat -nvL | grep 172.17.0.31

写在后面的话:docker推崇一个容器创建一个应用,这个实践中容器里启动了很多服务和应用,只是为了更方便测试。

你可能感兴趣的:(docker实践之测试环境容器创建)