文章目录
docker


docker 的三个基本概念:
1、镜像 Image
– 实现了某个功能的代码模块(别人已经配置好的一个程序或者很多程序的一个环境)
– 镜像 = 一个os + 一个程序或者多个程序 ----》人家已经做好的套餐盒饭
2、容器 Container
– 将镜像里的代码运行起来的一个地方
– 一个容器对应一个进程
3、仓库 Repository
– 存放很多镜像的一个地方 --》(时速云)
– 我们比较熟悉的一个仓库—》yum
-----------------------------------------------------
操作使用docker:
*人生建议:*先升级yum–》yum update
安装docker:
yum install docker -y
启动docker:
[root@yun ~]# service docker start
Redirecting to /bin/systemctl start docker.service
查看docker版本:
[root@yun ~]# service docker start
Redirecting to /bin/systemctl start docker.service
[root@yun ~]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
Go version: go1.10.3
Git commit: 64e9980/1.13.1
Built: Tue Apr 28 14:43:01 2020
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
Go version: go1.10.3
Git commit: 64e9980/1.13.1
Built: Tue Apr 28 14:43:01 2020
OS/Arch: linux/amd64
Experimental: false
设置开机启动:
[root@yun ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
常用的docker命令:
docker version
docker images — 查看docker镜像
docker search — 查找docker镜像
- docker search --filter stars=200 nginx — 过滤出stars在200以上的的nginx镜像
docker pull — 下载镜像
导入、导出镜像:
- docker save -o nginx_docker.tar docker.io/nginx — 在本地的当前目录下创建一个名叫nginx_docker.tar的nginx镜像压缩文件。
- docker load < nginx_docker.tar — 在其他机器上导入镜像。
- 也可以使用ftp,导出端–》安装vsftp,导出端–》安装lftp
================================================
docker ps -a — 查看所有正在运行的容器
docker run -d -p 80:80 --name tzk_nginx docker.io/nginx
- -d:deamon起一个后台进程去运行
- -p:外面访问os的80端口,然后转发到容器里的80端口(端口映射)
- –name:给容器命名
- 每一个运行的容器都有自己的一串唯一标识符
docker stop tzk_nginx — 停掉运行的容器
docker restart tzk_nginx — 重启容器
docker exec -it tzk_nginx /bin/bash — 进入容器
exit — 退出容器
docker rm — 删除已有的容器
[root@yun ~]# docker search --filter stars=200 nginx
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/nginx Official build of Nginx. 13263 [OK]
docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy fo r docker c... 1813 [OK]
docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FP M capable ... 775 [OK]
[root@yun ~]# docker pull docker.io/nginx
Using default tag: latest
Trying to pull repository docker.io/library/nginx ...
latest: Pulling from docker.io/library/nginx
afb6ec6fdc1c: Pull complete
b90c53a0b692: Pull complete
11fa52a0fdc0: Pull complete
Digest: sha256:6fff55753e3b34e36e24e37039ee9eae1fe38a6420d8ae16ef37c92d1eb26699
Status: Downloaded newer image for docker.io/nginx:latest
[root@yun ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest 9beeba249f3e 2 weeks ago 127 MB
------------------------------------------------------------------------------------------
使用实例(redis、mysql):
redis:
[root@mytest ~]# docker run -d -p 6379:6379 --name docker_redis docker.io/redis
c4739ca4bbaaa61df17707f642fe4e415d73d0a4a80396483ef6aeb939dc115c
[root@mytest ~]# docker stop docker_redis
docker_redis
[root@mytest ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1309c0808426 docker.io/redis "docker-entrypoint..." 37 minutes ago Exited (0) 6 seconds ago docker_redis
[root@mytest ~]# docker start docker_redis
docker_redis
[root@mytest ~]# docker exec -it docker_redis /bin/bash
root@1309c0808426:/data# redis-cli
127.0.0.1:6379>
mysql5.7:
可以通过改变端口,起多个容器使得一台机器(宿主机)上可以连接多个数据库!
[root@mytest ~]# docker pull docker.io/mysql:5.7
[root@mytest ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis latest 36304d3b4540 3 days ago 104 MB
docker.io/mysql 5.7 a4fdfd462add 10 days ago 448 MB
[root@mytest ~]# docker run -d -p 3306:3306 --name my_mysql57 -e MYSQL_ROOT_PASSWOR D='Tzkwan1314=' mysql:5.7
f57dec6fb9e531086afbe2696cffc37a2cad8903a202ff2b0d66c7b5efa4af1f
[root@mytest ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f57dec6fb9e5 mysql:5.7 "docker-entrypoint..." 23 seconds ago Up 22 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp my_mysql57
[root@mytest ~]# docker exec -it my_mysql57 /bin/bash
root@f57dec6fb9e5:/# mysql -uroot -pTzkwan1314=
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.30 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql>
本文介绍了在CentOS7环境下如何操作Docker,包括理解Docker的镜像、容器和仓库基本概念,详细步骤涵盖了Docker的安装、启动、版本查看、开机启动设置以及常用命令的使用。同时,通过实例展示了如何运行Redis和MySQL容器。
592

被折叠的 条评论
为什么被折叠?



