首页 > 技术文章 > docker常用命令

niewx5201314 2019-10-12 17:53 原文

这是小白学习时候用到的一些docker命令,后面会继续更新,希望可以提供给大家帮助

 

1.docker容器访问其他容器服务:docker run -d --network host -p 8081:8081 xxxxxxxx:v3

2.docker-compose:是基于docker-compose.yml,通常启动的时候是一个服务,这个服务通常由多个container共同组成,并且端口,配置等由docker-compose定义好。

3.启动docket:systemctl start docker

4.设置docker开机启动:systemctl enable docker 

5.启动一个mysql的docker镜像sudo docker run --name mysqltest -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ruyi123456 -v /data/mysql:/var/lib/mysql -d docker.io/mysql

6.从容器中拷贝文件到宿主机:docker cp 【CONTAINER ID】:【路径】文件名 【宿主机的绝对路径+文件名】

7.docker服务重启后容器也自动重启:docker run --restart=always / docker update --restart=always <CONTAINER ID>

8.Docker保存多个镜像到tar中:docker save [images] [images] > [name.tar]

9.Docker导出镜像到环境 :docker load<[name.tar]

10.Dockerfile 创建镜像,标签为 runoob/ubuntu:v1docker build -t runoob/ubuntu:v1 .

11.查看docker磁盘使用:docker system df

12.删除所有未使用的本地卷docker volume prune

13.清理所有处于终止状态的容器docker container prune / docker rm `docker ps -a | grep Exited | awk '{print $1}'`

14.清理所有未使用的镜像:docker rmi -f `docker images | grep '<none>' | awk '{print $3}'

15.进入docker容器内部:sudo docker attach 44fc0f0582d9

16.查看docker容器的cpu及内存的使用情况:docker stats  

具体使用方法参考链接:

https://blog.csdn.net/hu_jinghui/article/details/80198492

17. 更新已经启动容器的参数

如果已经启动了则可以使用如下命令:

docker update --restart=always <CONTAINER ID>

 

18. dockerfile中参数-Djava.security.egd=file:/dev/./urandom

docker+tomcat 启动时非常慢,一般正常启动几十秒的,发现docker+tomcat启动竟需要几分钟,不可思议

Tomcat 7/8 都使用 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 类产生安全随机类 SecureRandom 的实例作为会话 IDSecureRandom generateSeed  使用 /dev/random 生成种子。但是 /dev/random 是一个阻塞数字生成器,如果它没有足够的随机数据提供,它就一直等,这迫使 JVM 等待。键盘和鼠标输入以及磁盘活动可以产生所需的随机性或熵。但在一个服务器缺乏这样的活动,可能会出现问题。

2种解决方案:

1. Tomcat环境中解决:

可以通过配置 JRE 使用非阻塞的 Entropy Source

catalina.sh 中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。

2. JVM 环境中解决(本人使用此方法):

打开jdk安装路径 $JAVA_PATH/jre/lib/security/java.security 这个文件,找到下面的内容:

securerandom.source=file:/dev/random

替换成:

securerandom.source=file:/dev/./urandom

 

如果是采用docker的方式启动,则在启动命令中加入-Djava.security.egd=file:/dev/./urandom 这样一行

推荐阅读