docker实战练习

Posted apesplan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker实战练习相关的知识,希望对你有一定的参考价值。

systemctl start centos

systemctl restart centos

docker image ls 查看镜像

docker image --digests 显示镜像摘要信息

docker image --digests --no-trunc 显示镜像全部信息

技术图片

docker search centos 查询镜像

docker search -s 30 centos 查询star超过30的镜像

docker pull centos 下载centos镜像

注:

如果下载镜像超时,需设置国内镜像

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

service docker restart 重启docker

技术图片

docker rmi 镜像名/容器id 镜像名/容器id 删除镜像

docker network create -d bridge test1 网络桥

docker network ls 显示网络桥列表

docker run -d -it -p 8001:22 --network test1 --name centos-test1 centos /bin/bash 创建centos镜像容器 本地的8001指向容器的22端口,在test1的网段里

docker run --privileged  -d -it -p 8002:22 --network test2 --name centos-test2 init-java-mysql:1.1 /usr/sbin/init

docker ps 查看运行容器

docker ps -a 查看所有容器

docker rm -f 镜像名/容器id 删除容器

docker rm $(docker ps -a -q) 删除所有容器

例如我们启动centos后台容器,每隔一秒打印当天的日历。
$ docker run -d -p 8001:22 --network test1 --name centos-test1 centos  /bin/sh -c "while true;do echo hello docker;sleep 1;done"

启动之后,我们使用docker ps -n 5查看容器的信息

要查看启动的centos容器中的输出,可以使用如下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的输出 

docker logs -f -t --tail 1 9714e2309486 t是加入时间戳 f是追加最新的日志 tail行数
$ docker attach $CONTAINER_ID ##连接上容器实时查看 Ctrl+p Ctrl+q退出但不关闭容器 退不出开启另一个终端 用 pkill -9 -f ‘docker.*attach‘

docker stop 12bdf4567710/centos-test1 终止容器

docker start centos-test1 启动容器

docker restart centos-test1 重启容器

docker kill centos-test1 强制停止容器

docker ps -l 查看上一次运行过的容器

docker ps -n 3查看上3次运行过的容器

docker top 9714e2309486 查看容器进程

docker inspect 9714e2309486 查看容器详细

技术图片

技术图片运行容器命令但没有进容器

docker exec -t 9714e2309486 /bin/bash 进入容器

docker attach

docker cp 9714e2309486:文件路径 本机的路径 拷贝容器里的文件

自己构建镜像

docker commit -a="wang" -m="dec" 镜像名/容器id 新镜像名:版本号 这样就会生成在本地docker镜像里 docker image

技术图片

rpm -qa | grep -i java 查看是否有安装java包

rpm -e --nodeps 包名

 

注:

需要远程链接的话需要开启端口,另外,centos镜像要设置密码 passwd 通过ssh连接

安装ssh

yum install passwd openssl openssh-server -y

/usr/sbin/sshd -D

ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ‘‘

ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ‘‘

ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ‘‘

技术图片

 

 

删除不了commit的镜像,是因为有依赖

技术图片

保存新镜像

docker save -o java-mysql.tar  java-mysql:1.1

删除新旧镜像

docker rmi 6d7406eeac0e 93ea07f67227 b1172585ba22

load新镜像

docker load -i ./java-mysql.tar 

以上是关于docker实战练习的主要内容,如果未能解决你的问题,请参考以下文章

Docker 知识点总结 及 技术实战流程(附单独练习参考)

Docker网络详解与实战

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

8.6实战练习

7.6实战练习