将正在运行的容器设为自启动

 

# docker update --restart=always 容器名或容器ID
docker update --restart=always <CONTAINER ID>
# 例如将tomcat设为自启动
docker update --restart=always tomcat

 

将自启动的容器取消自启动

# docker update --restart=no 容器名或容器ID
docker update --restart=no <CONTAINER ID>
# 例如取消tomcat的自启动
docker update --restart=no tomcat

 

 

docker-compose命令通过指定文件运行

启动服务
docker-compose -f docker-compose.yml up -d
停止服务
docker-compose -f docker-compose.yml stop
停止并删除服务
docker-compose -f docker-compose.yml down

 

查看docker占用多少CPU、内存等资源

docker stats

 

 

 

停止、删除所有容器、镜像

docker ps -a -q # 查看所有容器ID
docker stop $(docker ps -a -q) #  stop停止所有容器
docker ps -a | grep Exited | awk '{print $1}' |xargs docker start #启动所有已停止的容器 docker
rm $(docker ps -a -q) # remove删除所有容器
docker rmi $(docker images -q) #删除全部的images
docker rmi  1574f4d271db   -f #强制删除镜像文件

docker system df命令,类似于Linux上的df命令,用于查看Docker的磁盘使用情况
docker system df

 

 reclaimable可回收

 

这个命令将清理整个系统,并且只会保留真正在使用的镜像,容器,数据卷以及网络,因此需要格外谨慎
docker system prune -a -f

 

用以清理不再使用的docker镜像。执行docker image prune默认会清除"悬空"镜像【就是既没有标签名也没有容器引用的镜像】
docker image prune -a -f

 

 

docker inspect

查看容器映射等信息

 

https://blog.csdn.net/winy_lm/article/details/77980529 查看、删除容器
docker ps -a     查看所有容器
docker rm        删除容器
docker images  查看所有镜像
docker rmi         删除镜像
要先查看该image有无使用才能删除
进入一个容器
docker exec -ti archery /bin/bash
docker inspect 查看容器IP

docker cp test.txt container:/home/
# 将当前目录的test.txt文件复制到container容器的/home目录下
docker cp container:/home/test.txt /home/
# 将container容器内文件复制到宿主机

docker logs mytest -f  --tail 30

查看mytest容器最近的30条日志

 

docker run -it -d  -p 8082:8080 -v /usr/web/gaoxi-log:/opt/tomcat/gaoxi-log     --network=host  --restart=always  --name gaoxi-user-1  chaimm/tomcat:1.1 

--name:指定容器的名字
-p:指定容器的端口映射 -p 8082:8080 表示将容器的8080端口映射到宿主机的8082端口上 ,映射多个端口使用 -p 8082:8080  -p 8083:8081
-v:指定容器数据卷的映射 xxx:yyy 表示将容器yyy目录映射到宿主机的xxx目录上,从而访问宿主机的xxx目录就相当于访问容器的yyy目录。
chaimm/tomcat:1.1:表示容器所对应的镜像

 

docker run -it -v /home/java/logs/:/home/java/logs/ -v /etc/localtime:/etc/localtime  -v /etc/timezone:/etc/timezone --name=matchCenter --restart=always --network=host 镜像名 /etc/rc.local

 

docker exec -it -u 0 containerId bash

或者

docker exec -it -u root <container_id> /bin/bash

以root身份进入容器

 

docker run -d --name mysql -v /usr/local/mysql_conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql_data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-v 挂载宿主机目录和 docker容器中的目录

-d 后台运行

-p 映射容器端口号和宿主机端口号

-e 环境参数

 查看容器和宿主机的映射信息

docker inspect  容器名

docker导入导出镜像、容器

镜像

docker save -o /kibana.tar  docker.elastic.co/kibana/kibana

docker load < /home/save.tar

容器

docker export <CONTAINER ID> > /home/export.tar

docker import - busybox-1-export:latest

https://www.jianshu.com/p/8408e06b7273

https://blog.csdn.net/guizaijianchic/article/details/78324646

docker 制作镜像
https://www.jianshu.com/p/cf7ccf362a5a
docker commit -m 'my_mysql' mysql8-1 my_mysql:v1.0

 

关于Docker目录挂载的总结

 https://www.cnblogs.com/ivictor/p/4834864.html

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。

譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:

# docker run -it -v /test:/soft centos /bin/bash

这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。

 

进入容器并执行命令

docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";

 

卸载docker

yum install list|grep docker

yum remove docker-common.x86_64 -y

yum remove docker-client.x86_64 -y

 

查看image 镜像修改历史

docker image history --no-trunc +image ID

posted on 2019-05-16 11:29  小油2018  阅读(237)  评论(0编辑  收藏  举报