这节记一下docker镜像和容器的一些常用指令:

docker运行流程:

4.PNG

1、docker配置阿里云镜像加速

直接去阿里云->控制台->容器镜像服务->镜像工具->镜像加速器去对照不同的操作系统复制不同的指令,比如ubuntu(第一步建文件可能不用):

5.PNG

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["分给你的加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

然后去ubuntu里docker info一下。要是出来 Registry Mirrors: 分给你的加速地址 那么就设置成功了

2、docker run hello-world

设完加速的话,直接运行上述命令就会先去搜索拉取然后启动hello-world,输出其中内容。

3、常用辅助命令
docker version	--------------------------	查看docker的信息
docker info	--------------------------	查看更详细的信息
docker --help	--------------------------	帮助命令
4、Images镜像命令
docker images	--------------------------	列出本地所有镜像
docker images -a			        列出所有镜像(包含中间映像层)
docker images -q                                只显示镜像id
docker search [options] 镜像名		        去dockerhub上查询当前镜像
              -s 指定值		                列出收藏数不少于指定值的镜像(这条试不出来啊。。)
  	      --no-trunc	                显示完整的镜像信息
docker pull 镜像名[:TAG|@DIGEST]	                下载镜像(@DIGEST是官网另一个参数,用这个也行)
docker rmi 镜像名	                        删除镜像
	   -f		                        强制删除
5、Contrainer 容器命令
docker run 镜像名	--------------------------	镜像名新建并启动容器
           --name 					别名为容器起一个名字
           -d						启动守护式容器(在后台启动容器)
           -p 				                映射端口号:原始端口号	 指定端口号启动
例:docker run -d --name myTomcat -p 8888:8080 tomcat

docker ps					        列出所有正在运行的容器
	  -a			                        正在运行的和历史运行过的容器
	  -q			                        静默模式,只显示容器编号

docker start   容器名字或者容器id                         开启容器
docker restart 容器名或者容器id                           重启容器
docker stop    容器名或者容器id 	                         正常停止容器运行
docker kill    容器名或者容器id                           立即停止容器运行

docker rm -f 容器id和容器名                              删除容器
docker rm -f $(docker ps -aq)		                删除所有容器

docker top 容器id或者容器名                              查看容器内的进程

docker inspect 容器id 		                        查看容器内部细节

docker logs [OPTIONS] 容器id或容器名	                查看容器日志
            -t			                        加入时间戳
            -f			                        跟随最新的日志打印
            --tail 数字	                                显示最后多少条

docker exec [options] 容器id 容器内命令                  进入容器执行命令
	    -i	                                        以交互模式运行容器,通常与-t一起使用
            -t		                                分配一个伪终端    shell窗口   bash 
例:docker exec -it 022 bash

docker cp 文件|目录 容器id:容器路径                       将宿主机复制到容器内部
docker cp 容器id:容器内资源路径 宿主机目录路径             将容器内资源拷贝到主机上
(cp指令用处不大,因为有共享目录命令)

docker save 镜像名 -o  名称.tar                          打包镜像

docker load -i   名称.tar                                载入镜像

docker commit -m "描述信息" -a "作者信息"(容器id或者名称)打包的镜像名称:标签   ---容器打包成心得镜像

docker run -v 宿主机的路径|任意别名:/容器内的路径 镜像名    数据卷(volum)实现与宿主机共享目录
		注意: 
		1.如果是宿主机路径必须是绝对路径,宿主机目录会覆盖容器内目录内容
		2.如果是别名则会在docker运行容器时自动在宿主机中创建一个目录,并将容器目录文件复制到宿主机中

看共享目录指令的注意1、2,注意2针对于数据库等的数据持久化,而且放容器里也不安全,必须要去宿主机里再备一下。可以参照如下截图:

注意1的指令使用方式:

1.PNG

2.PNG

注意2的指令使用方式:

第一步指令没截取,aa为别名:docker run -d -p 8888:80 --name ng1 -v aa:/home nginx

3.PNG

以上绝大部分指令都敲过了,少数个别几个没敲,以后随用随看吧,反正不天天敲也是记了忘忘了记,记着就当工具书备忘吧。


标题:Docker(2)
作者:jyl
地址:http://jinyunlong.xyz/articles/2021/08/05/1628135399696.html