当前位置:   article > 正文

docker容器

docker容器

1、创建容器 docker create /docker run

创建容器未运行,需要start启动

[root@lvs-server ~]# docker create -it nginx:latest
8a1e7f458daf148a0d59db622924fe10e15970a7d5ad350996717ca12740d00f
[root@lvs-server ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS    PORTS     NAMES
8a1e7f458daf   nginx:latest   "/docker-entrypoint.…"   3 seconds ago   Created             sweet_kepler
[root@lvs-server ~]# docker start 8a1e7f458daf  --手动start启动
8a1e7f458daf

 创建容器并运行 --这个是mysql的容器

mysql的容器需要先设置坏境变量在登录

  1. [root@lvs-server ~]# docker run -it -e MYSQL_ROOT_PASSWORD=QianFeng@123 -d mysql:8.0.38-oraclelinux9 
  2. cd77461b8fa1e9c9ac42236c9e9b5e9854c66f27c9fe42a074b1b1ec7de1e6e9
  3. [root@lvs-server ~]# docker ps
  4. CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS         PORTS                 NAMES
  5. cd77461b8fa1   mysql:8.0.38-oraclelinux9   "docker-entrypoint.s…"   6 seconds ago   Up 6 seconds   3306/tcp, 33060/tcp   hopeful_engelbart
  6. [root@lvs-server ~]# docker exec -it cd77461b8fa1 /bin/bash
  7. bash-5.1# mysql -pQianFeng@123
  8. mysql: [Warning] Using a password on the command line interface can be insecure.
  9. Welcome to the MySQL monitor.  Commands end with ; or \g.
  10. Your MySQL connection id is 8
  11. Server version: 8.0.38 MySQL Community Server - GPL
  12. Copyright (c) 2000, 2024, Oracle and/or its affiliates.
  13. Oracle is a registered trademark of Oracle Corporation and/or its
  14. affiliates. Other names may be trademarks of their respective
  15. owners.
  16. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  17. mysql> 

 进入容器查看环境变量

  1. [root@lvs-server ~]# docker exec -it cd77461b8fa1 /bin/bash
  2. bash-5.1# export
  3. declare -x GOSU_VERSION="1.17"
  4. declare -x HOME="/root"
  5. declare -x HOSTNAME="cd77461b8fa1"
  6. declare -x MYSQL_MAJOR="8.0"
  7. declare -x MYSQL_ROOT_PASSWORD="QianFeng@123"
  8. declare -x MYSQL_SHELL_VERSION="8.0.38-1.el9"
  9. declare -x MYSQL_VERSION="8.0.38-1.el9"
  10. declare -x OLDPWD
  11. declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  12. declare -x PWD="/"
  13. declare -x SHLVL="1"
  14. declare -x TERM="xterm"

加的参数:

-i标准输入 标准输出
-t 分配一个虚拟终端
-d 后台运行
--name 指定容器名称
-p 端口映射【宿主机的端口映射给容器的某个端口】
-P 随机生成一个端口进行映射
 docker run -itd --name nginx -p 8000:80 nginx:1.26.1
  docker run -itd --name nginx -P nginx:1.26.1
-v 目录映射【宿主机的目录映射给容器的某个目录,将容器中的目录挂载到宿主机的目录中】

2、查看容器 docker ps -a

docker ps: 查看正在运行的容器

docker ps -a 查看所有容器

docker ps  -q 查看所有容器id

docker ps  -f 强制执行

3、删除容器 docker rm cname 

 docker rm cname 删除已停止的容器
docker rm -f cname 强制删除,可以删除正在运行的容器
docker rm -f $(docker ps -aq) 删除所有的容器

 4、停止容器

docker stop cname

docker kill cname

5、启动容器 

docker start cname/REPORSTORY

6、重启容器 

 docker restart cname

7、进入容器 

 docker attach cname #退出时使用 ctrl+p+q
docker exec -it cname

8、查看容器运行的进程 docker top cname 

  1. [root@lvs-server ~]# docker top cd77461b8fa1
  2. UID PID PPID C STIME TTY TIME CMD
  3. systemd+ 1720 1692 0 09:46 pts/0 00:00:08 mysqld

9、查看资源占用情况 docker stats

10、拷贝远程文件进容器

docker cp

拷贝容器中的文件到宿主机
docker cp cname:path hostpath

拷贝文件从宿主机到容器中
docker cp hostpath cname:path

 11、挂起容器 docker pause cname

12、 查看容器日志 docker logs cname [-f 持续刷新 ] 

13、修改容器名称 docker rename old_cname new_cname

14、查看映射端口 docker port cname

15、实时输出到 docker 服务器端的时间、包括容器的创建启动docker events

16、监控容器退出状态码 docker wait cname

17、和默认容器对比变化 docker diff

18、保存容器为 tar 包 docker export -o cname.tar cname

docker export cname> cname.tar

19、将 tar 包导入到本地 docker import cname.tar

20、导出 镜像为 tar 包 docker save -o iname.tar REPOSITORY:TAG | image_id

如果用 image_id 导出 tar 包,那么在导入到其他节点时只有 image_id,没有 REPOSITORY TAG

docker save [REPOSITORY:TAG | image_id] > iname.tar

REPOSITORY:TAG 

 21、直接将容器提交成镜像docker commit cname REPOSITORY:TAG

  1. [root@lvs-server ~]# docker ps -a
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 385025d30c71 nginx:latest "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 80/tcp naughty_darwin
  4. cd77461b8fa1 mysql:8.0.38-oraclelinux9 "docker-entrypoint.s…" 5 hours ago Exited (0) 51 minutes ago hopeful_engelbart
  5. [root@lvs-server ~]# docker commit 385025d30c71 nginx:latest
  6. sha256:cf85366dc62561b57091fd0eef7ffd530e7dbc3048c506babc2b3019fd725811
  7. [root@lvs-server ~]# docker images
  8. REPOSITORY TAG IMAGE ID CREATED SIZE
  9. nginx latest cf85366dc625 15 seconds ago 141MB

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/879282
推荐阅读
相关标签
  

闽ICP备14008679号