Docker入门
2018-07-25 本文已影响0人
Impassable_time
一、linux 相关
#启动\停止 docker 服务
systemctl start docker
systemctl stop docker
# 重启 docker
systemctl restart docker.service
二、查看docker信息(version、info)
# 查看docker版本
$docker version
# 显示docker系统的信息
$docker info
三、对image的操作(search、pull、images、rmi、history)
# 服务器上查找 image
$docker search image_name
# 下载image
$docker pull image_name
# 列出镜像列表; -a, --all=false Show all images;
$docker images
# 删除一个或者多个镜像;
$docker rmi image_name
# 显示一个镜像的历史
$docker history image_name
例子:
1)比如想要TOMCAT
docker search tomcat
#会出现很多,然后选择其中一个。
docker pull name
即可拥有
2)比如想要ORACLE
http://www.jb51.net/article/110520.htm
四、镜像生成容器(run)
# 在容器中运行"echo"命令,输出"hello word"
$docker run image_name echo "hello word"
# 交互式进入容器中
$docker run -i -t image_name /bin/bash
# 机器启动就自动运行容器 --restart=always
$docker run --restart=always image_name
# 在容器中安装新的程序
$docker run image_name apt-get install -y app_name
4. 查看容器(ps)
容器存放位置/var/lib/docker/containers
# 列出当前所有正在运行的container
$docker ps
# 列出所有的container
$docker ps -a
# 列出最近一次启动的container
$docker ps -l
10.14 环境 上启动 its 所有项目的镜像
sudo docker run --name pub -p 4014:8080 -p 14231:14231 -p 9994:9994 -p 19999:19999 -d -v /home/its/tomcat_its/1-webapp-pub:/usr/local/tomcat/webapps --privileged=true -m 512m -e JAVA_OPTS='-Xmx512m' 192.168.10.14:5000/tomcat
sudo docker run --name other -p 4024:8080 -d -v /home/its/tomcat_its/2-webapp-other:/usr/local/tomcat/webapps --privileged=true -m 212m -e JAVA_OPTS='-Xmx212m' 192.168.10.14:5000/tomcat
sudo docker run --name ivmanage -p 4034:8080 -p 9997:9997 -d -v /home/its/tomcat_its/3-webapp-ivmanage:/usr/local/tomcat/webapps --privileged=true -m 512m -e JAVA_OPTS='-Xmx512m' 192.168.10.14:5000/tomcat
sudo docker run --name font -p 4044:8080 -d -v /home/its/tomcat_its/4-webapp-font:/usr/local/tomcat/webapps --privileged=true -m 312m -e JAVA_OPTS='-Xmx312m' 192.168.10.14:5000/tomcat
sudo docker run --name trade1 -p 4054:8080 -p 9999:9999 -p 9983:9983 -d -v /home/its/tomcat_its/5-webapp-trade1:/usr/local/tomcat/webapps --privileged=true -m 412m -e JAVA_OPTS='-Xmx412m' 192.168.10.14:5000/tomcat
sudo docker run --name trade2 -p 4064:8080 -p 10001:10001 -p 9998:9998 -d -v /home/its/tomcat_its/6-webapp-trade2:/usr/local/tomcat/webapps --privileged=true -m 412m -e JAVA_OPTS='-Xmx412m' 192.168.10.14:5000/tomcat
sudo docker run --name risk -p 4074:8080 -d -v /home/its/tomcat_its/7-webapp-risk:/usr/local/tomcat/webapps --privileged=true -m 412m -e JAVA_OPTS='-Xmx412m' 192.168.10.14:5000/tomcat
@简单说明:
run - 启动, --name 取一个名字 , -p 端口映射, -v 把webapp的地址移动到外面,方便部署。
--privileged=true 添加权限,不然会报错, -m 限定 容器 内存大小。 最后容器名称
之后启动容器: sudo docker ps -a , 找到所有的容器ID《CONTAINER ID》
然后 sudo docker start CONTAINERID 即可
10.14 环境 上启动 its_citic1 所有景象脚本
五、保存对容器的修改(commit)
当你对某一个容器做了修改之后,可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。
# 保存对容器的修改; -a, --author="" Author; -m, --message="" Commit message
$docker commit ID new_image_name
六、对容器的操作(rm、stop、start、kill、logs、diff、top、cp、restart、attach)
# 删除所有容器
$docker rm `docker ps -a -q`
# 删除单个容器;
$docker rm Name/ID
# 停止、启动、重启、杀死一个容器
$docker stop Name/ID
$docker start Name/ID
$docker restart Name/ID
$docker kill Name/ID
# 从一个容器中取日志;
$docker logs Name/ID
# 列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A 增加的,D 删除的,C 被改变的
$docker diff Name/ID
# 显示一个运行的容器里面的进程信息
$docker top Name/ID
# 从容器里面拷贝文件/目录到本地一个路径
$docker cp Name:/container_path to_path
$docker cp ID:/container_path to_path
# 附加到一个运行的容器上面,SSH进入容器
$docker attach ID
七、保存和加载镜像(save、load)
当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。
# 保存镜像到一个tar包; -o, --output="" Write to an file
$docker save image_name -o file_path
# 加载一个tar包格式的镜像; -i, --input="" Read from a tar archive file
$docker load -i file_path
# 例子
$docker save image_name > /home/save.tar
# 使用scp将save.tar拷到机器b上,然后:
$docker load < /home/save.tar
八、登录发布镜像(login push)
$docker login
# 发布docker镜像
$docker push new_image_name
九、根据Dockerfile 构建出一个容器
$docker build -t image_name Dockerfile_path