Docker基础命令实战

ops/2024/12/22 21:19:34/

问题:Error response from daemon: Get "https://index.docker.io/v1/search?q=mysql&n=25": dial tcp 199.59.148.9:443: connect: connection refused

在pull nginx时出现的报错,可能原因是镜像源过期了,我们需要更换镜像源

vim /etc/docker/daemon.json
{"registry-mirrors": ["https://hub.atomgit.com/repos","https://docker.m.daocloud.io","https://dockerhub.timeweb.cloud"]
}

常用命令

 拉取镜像,查看镜像,删除镜像

[root@docker-test ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
bc0965b23a04: Pull complete 
650ee30bbe5e: Pull complete 
8cc1569e58f5: Pull complete 
362f35df001b: Pull complete 
13e320bf29cd: Pull complete 
7b50399908e1: Pull complete 
57b64962dd94: Pull complete 
Digest: sha256:fb197595ebe76b9c0c14ab68159fd3c08bd067ec62300583543f0ebda353b5be
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@docker-test ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker-test ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    66f8bdd3810c   3 weeks ago   192MB
[root@docker-test ~]# docker run --name=mynginx -d --restart=always -p 88:80 nginx
a55f9c7b4068d50c393f72356ee3fb7ff5a61be05dd3997f1695e851dee031ef
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
a55f9c7b4068   nginx     "/docker-entrypoint.…"   5 seconds ago   Up 4 seconds   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx
[root@docker-test ~]# docker rm -f  mynginx
mynginx
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

 启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]【docker run  设置项   镜像名  】 镜像启动运行的命令(镜像里面默认有的,一般不会写)# -d:后台运行
# --restart=always: 开机自启
[root@docker-test ~]# docker run --name=mynginx -d --restart=always -p 88:80 nginx
0779cfa927b4489bd7aafe07cb3500f3933f80647b9e71cb8734c2c280edf32e
#任何ip访问我的88端口,都会转发到80
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
0779cfa927b4   nginx     "/docker-entrypoint.…"   31 seconds ago   Up 30 seconds   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx#容器的启停
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
0779cfa927b4   nginx     "/docker-entrypoint.…"   22 minutes ago   Up 22 minutes   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx
[root@docker-test ~]# docker stop mynginx
mynginx
[root@docker-test ~]# docker start mynginx
mynginx
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS        PORTS                               NAMES
0779cfa927b4   nginx     "/docker-entrypoint.…"   22 minutes ago   Up 1 second   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx

 IP:88测试访问:

 

修改容器内容

修改默认的index.html 页面

1、进容器内部修改

# 进入容器内部的系统,修改容器内容
docker exec -it 容器id  /bin/bash
[root@docker-test ~]# docker exec -it 0779cfa927b4 /bin/bash
root@0779cfa927b4:/# 
root@0779cfa927b4:/# 
root@0779cfa927b4:/# 
root@0779cfa927b4:/# cd /usr/share/nginx/html/root@0779cfa927b4:/usr/share/nginx/html# 
root@0779cfa927b4:/usr/share/nginx/html# ls
50x.html  index.html
root@0779cfa927b4:/usr/share/nginx/html# echo "hello" > index.html

 

2、挂载数据到外部修改

[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker-test ~]# docker  run --name=mynginx -d --restart=always -p 88:80 -v /data/html:/usr/share/nginx/html:ro nginx
9cf3f15f63fa8004cc9ce2ce9c70a6d04790eb819c9565712b21ccc20e4622e4
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
9cf3f15f63fa   nginx     "/docker-entrypoint.…"   3 seconds ago   Up 2 seconds   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx
[root@docker-test ~]# cd /data/html
[root@docker-test html]# echo "11111" > index.html
[root@docker-test html]# 

提交改变

将自己修改好的镜像提交,将自己已经修改完的镜像提交之后,在遇到镜像不能使用时,可以马上恢复

[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
0779cfa927b4   nginx     "/docker-entrypoint.…"   34 minutes ago   Up 11 minutes   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx
[root@docker-test ~]# docker commit  -a "wangyuxuan" -m "首页变化" 0779cfa927b4 nginx:v1.0
sha256:bff0b7503eb050ecd07701a87272d238efb60256c402e461ccef4200769cf720
[root@docker-test ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        v1.0      bff0b7503eb0   6 seconds ago   192MB
nginx        latest    66f8bdd3810c   3 weeks ago     192MB
[root@docker-test ~]# docker rm -f 66f8bdd3810c
Error response from daemon: No such container: 66f8bdd3810c
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
0779cfa927b4   nginx     "/docker-entrypoint.…"   38 minutes ago   Up 15 minutes   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx
[root@docker-test ~]# docker rm -f 0779cfa927b4
0779cfa927b4
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker-test ~]# docker run --name=mynginx -d --restart=always -p 88:80 nginx
da77b3ad2b9e0da16a2cdc9f5e84e52737f29fe957c76f109e8cbc4a0ecd1c6d[root@docker-test ~]# 
[root@docker-test ~]# 
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
da77b3ad2b9e   nginx     "/docker-entrypoint.…"   4 seconds ago   Up 2 seconds   0.0.0.0:88->80/tcp, :::88->80/tcp   mynginx
[root@docker-test ~]# docker rm -f da77b3ad2b9e
da77b3ad2b9e
[root@docker-test ~]# 
[root@docker-test ~]# 
[root@docker-test ~]# docker run -d -p 88:80 nginx:v1.0
e60b18ed68720fee6b82838f62e9cca9403295240303d3b7aa5f623d1ad3f5af
[root@docker-test ~]# 
[root@docker-test ~]# 
[root@docker-test ~]# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED         STATUS         PORTS                               NAMES
e60b18ed6872   nginx:v1.0   "/docker-entrypoint.…"   4 seconds ago   Up 4 seconds   0.0.0.0:88->80/tcp, :::88->80/tcp   kind_franklin

 镜像保存

[root@docker-test ~]# docker save -o test1.tar nginx:v1.0
[root@docker-test ~]# ll
total 191360
-rw-------. 1 root root      1244 Dec 19 03:33 anaconda-ks.cfg
-rw-------. 1 root root 195947008 Dec 19 05:12 test1.tar
[root@docker-test ~]# docker load -i test1.tar 
Loaded image: nginx:v1.0

补充

#查看容器日志
[root@docker-test html]# docker logs 9cf3f15f63fa
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/12/19 10:22:44 [notice] 1#1: using the "epoll" event method
2024/12/19 10:22:44 [notice] 1#1: nginx/1.27.3
2024/12/19 10:22:44 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14) 
2024/12/19 10:22:44 [notice] 1#1: OS: Linux 3.10.0-1160.el7.x86_64
2024/12/19 10:22:44 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/12/19 10:22:44 [notice] 1#1: start worker processes# docker 经常修改nginx配置文件
docker run -d -p 80:80 \
-v /data/html:/usr/share/nginx/html:ro \
-v /data/conf/nginx.conf:/etc/nginx/nginx.conf \
--name mynginx-02 \
nginx#把容器指定位置的东西复制出来 
docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf
#把外面的内容复制到容器里面
docker cp  /data/conf/nginx.conf  5eff66eec7e1:/etc/nginx/nginx.conf

 


http://www.ppmy.cn/ops/144124.html

相关文章

搭建云手机平台的技术要求?

最近在互联网上关于云手机的讨论比较多,其中如何搭建云手机平台是个热门话题。都知道云手机是按照租赁的模式来收费的,所以很多小伙伴想自己搭建一个,这样就可以无限期免费使用了。其实云手机的原理,并没有表面上看起来这么简单&a…

后端接口返回文件流,前端下载(java+vue)

各位小伙伴们大家好,欢迎来到这个小扎扎的专栏 总结 | 提效 | 拓展,在这个系列专栏中记录了博主在学习期间总结的大块知识点,以及日常工作中遇到的各种技术点 ┗|`O′|┛ ?? 内容速览 后端获取前端下载 本身前端是可以直接通过文…

VSCode中的Black Formatter没有生效的解决办法

说明 如果正常按照配置进行的话,理论上是可以生效的。 "[python]": {"editor.defaultFormatter": "ms-python.black-formatter","editor.formatOnSave": true }但我在一种情况下发现不能生效,应为其本身的bug…

QT图像处理:QImage与QPixmap

图像表示和图像处理概述 颜色数据格式 图像数据可以看作是二维数组,数组每个元素就是1 像素的颜色数据,在绘图设备上显示图像就是设置每个像素的颜色。任何颜色在显像时都是红色、绿色、蓝色三原色的组合。 颜色数据表示格式有以下几种: R…

【工具变量】中国数字经济发展水平面板数据DID(2012-2022)

数据来源:《中国统计年鉴》、国家统计局 时间跨度:2012-2022年 数据范围:中国各省 包含指标: 1. 地区 2. id 3. 年份 4. 互联网域名数 5. 互联网接入端口数 6. 互联网宽带接入用户数 7. 移动基站密度 8. 移动电…

基于ceres优化的3d激光雷达开源算法

以下是一些基于CERES优化的开源激光雷达SLAM或相关算法: (1) LOAM (Lidar Odometry And Mapping) 简介: LOAM是一种经典的激光雷达里程计和建图算法,它通过提取特征点(角点和平面点),利用ICP(Iterative Cl…

金智塔科技喜获CCF中国数字金融大会 GraphRAG竞赛二等奖

12月7日,CCF 首届中国数字金融大会GraphRAG竞赛在上海落下帷幕,金智塔科技(团队名称:塔塔向前冲)从众多参赛队伍中脱颖而出,喜获二等奖。 CCF 首届中国数字金融大会由中国计算机学会主办,中国计…

ParrotOS,一个与kali类似的渗透测试操作系统

介绍 Parrot Security(ParrotOS,Parrot)是一个基于 Debian Stable 的免费开源 GNU/Linux 发行版,专为安全专家、开发人员和注重隐私的人设计。 它包括一个完整的便携式武器库,用于 IT 安全和数字取证操作。它还包括开…