前两天学习了下docker总结了一点常用命令,来做下分享。
systemctl status docker //查看docker状态
sudo systemctl start docker //启动docker
systemctl stop docker //停止docker
systemctl restart docker //重启docker
docker version //查看docker版本
docker --help //查看帮助
docker run --help //查看run的命令帮助
docker images //列出docker镜像
{
REPOSITORY(镜像所在仓库) TAG(版本) IMAGE ID(镜像id) CREATED(镜像创建日期) SIZE(大小)
}
docker pull centos //默认拉取最新 docker pull centos:version 可指定版本
sudo systemctl daemon-reload //重新加载docker配置
docker search tomcat //查看仓库中tomcat 镜像存不存在
docker rmi 镜像id/镜像名称 镜像id/镜像名称 //删除一个或多个镜像(删除的不是仓库的、本地的)
docker rm 容器id/容器名称 容器id/容器名称 //删除一个或多个容器(不能删除正在运行的容器)
docker rm `docker ps -a -q` //删除所有非运行的容器(并返回容器id)
docker logs c2 //查看容器日志
docker run -it --name c2 centos /bin/bash //1.创建一个交互式容器(创建完成后创建了终端并且进入容器终端)(centos系统的容器--暂且这么理解)
docker run -itd --name t2 -p 8888:8080 mytomcat /bin/bash -p 参数可指定端口号
{
-i:交互式容器
-t:tty终端分配一个终端操作容器
--name 指定容器的name 唯一
-d 表示后台启动
}
exit //退出创建的容器
docker ps //查看正在运行容器(在宿主机上)
docker ps -a //查看运行过的容器(历史)
docker ps -l //查看最后一次运行的容器
docker run -itd --name c4 centos /bin/bash //2.创建一个name为c3的守护式容器(创建完成后不进入容器终端控制台)
docker exec -it c4 /bin/bash //进入守护式容器终端
exit //推出后容器仍然运行
docker stop c4 //停止正在运行的容器c4
docker start c2 //启动已经停止的容器c2
docker restart c2 //重启容器c2
docker network ls //查看docker的网络
docker network inspect bridge //查看使用bridge网络的容器
docker inspect 容器名称 //查看正在运行的容器的详细信息
docker inspect -f='{{.NetworkSettings.IPAddress}}' c2 //查看正在运行的容器c2的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' c2
docker cp 1.txt c1:/root //将宿主机本文件下的1.txt文件拷贝到docker容器中的root目录下(文件的目录必须是绝对路劲)
docker cp c1:/root/2.txt /tmp/feng/ //将容器c1中root目录下的2.txt文件拷贝到,宿主机的tmp/feng目录下
docker run -itd --name c2 -v /opt:/usr/local/myhtml centos /bin/bash //创建一个守护式容器 并将宿主机的opt目录和容器的usr/local/myhtml映射
source /etc/profile //临时跟新此文件
tar -zxvf jdk-8u161-linux-i586.tar.gz -C /usr/local/ //解压文件到指定目录
docker commit mycentos mytomcat //指定mycentos为新的镜像到本地
docker run -itd --name t2 -p 8888:8080 mytomcat /bin/bash //用新创建的镜像创建一个容器
docker exec t2 /usr/local/tomcat/bin/starup.sh //不登录容器直接启动tomcat
docker save -o /root/tomcat.tar mytomcat // 其中/root/tomcat.tar 指定打包的存储位置,mytomcat 是所打包的镜像
将打包好的镜像放到指定服务器
docker load -i /root.tomcat.tar
2.容器打包
docker export -o /roott2.tar t2
导入指定服务器
docker import t2.tar mytomcat:last
1.创建文件夹存储Dickerfile文件
2.编写dockerfile文件
3.创建镜像docker build -t rw_nginx --rm=true .
4.docker images //查看本地镜像
(1.docker hub)
命令
1.docker tag local-image:tagname new-repo:tagname
2.docker push new-repo:tagname
例子:
docker tag hello-world:latest xbf392/test-hello-world:v1 //把叫hello-world tag=latest的镜像 重新命名为xbf392/test-hello-world(此为docker仓库名) tag=v1
(登陆docker:docker login)(xbf392 Fxb..1222)
docker push xbf392/test-hello-world:v1
(2.阿里云镜像仓库)
//阿里云操作指南
https://cr.console.aliyun.com/repository/cn-beijing/fxb_hub/fxb_hub_01/details
docker swarm init --advertise-addr ip(填写具体ip) //将此ip作为docker swarm的管理节点
docker node ls //查看集群节点信息
docker swarm join --token (填写token) 192.168.200.138:2377 //将运行此命令的机器加入集群
docker service create --replices 1 --name helloworld alpine ping docker.com //创建服务
docker service ls 查看dockerswarm集群中的服务列表
docker service inspect 服务名称 //查看部署服务的详细信息
docker service ps 服务名称 //查看服务在集群节点上的分配(运行在哪个节点上)
docker service scale helloworld=5 //更改服务副本的数量(创建副本会分配在不同的节点上)
docker service rm 服务名称 //删除一个服务
docker network ls //产看集群环境下的网络