当前位置: 首页 > article >正文

Docker基础命令实战

问题: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.kler.cn/a/448858.html

相关文章:

  • whisper实时语音转文字
  • Java中使用四叶天动态代理IP构建ip代理池,实现httpClient和Jsoup代理ip爬虫
  • 梳理你的思路(从OOP到架构设计)_设计模式Template Method模式
  • Vue(二)
  • MATLAB绘图基础12:地理信息可视化
  • 1222面经
  • 【Go】Go数据类型详解—指针
  • LeetCode 26. 删除有序数组中的重复项 (C++实现)
  • 工具环境 | 工具准备
  • SSM 架构 Vue 赋能:WEB 开放性实验室智能管理系统
  • harmony UI组件学习(1)
  • 实验13 C语言连接和操作MySQL数据库
  • springboot453工资信息管理系统(论文+源码)_kaic
  • 解决Vmware虚拟机系统镜像无法解析DNS
  • 【Java基础面试题034】Java泛型擦除是什么?
  • 基于大语言模型的多代理下一代制造系统能灵活动态管理制造资源的高效调度方法
  • 一种统计torch内部计算过程算子输入输出信息的方法
  • (css)鼠标移入或点击改变背景图片
  • windows 下使用WLS2 编译aosp Android14并刷机到pixle 5a
  • 鱼跃医疗获评2024年国家级“绿色工厂”,以绿色制造树立行业标杆