Linux服务器安装docker docker官网: https://www.docker.com/
简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
安装docker 帮助文档:https://docs.docker.com/engine/install/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine yum install -y yum-utils yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache fast yum install docker-ce docker-ce-cli containerd.io docker systemctl start docker docker version
测试 docker version 查看docker版本信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [root@izbp19j3e02z07srlc2gwxz ~ ] Client: Docker Engine - Community Version: 20.10 .14 API version: 1.41 Go version: go1.16.15 Git commit: a224086 Built: Thu Mar 24 01 :49:57 2022 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10 .14 API version: 1.41 (minimum version 1.12 ) Go version: go1.16.15 Git commit: 87a90dc Built: Thu Mar 24 01 :48:24 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.5 .11 GitCommit: 3df54a852345ae127d1fa3092b95168e4a88e2f8 runc: Version: 1.0 .3 GitCommit: v1.0.3-0-gf46b6ba docker-init: Version: 0.19 .0 GitCommit: de40ad0
查看docker信息 ->docker info 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [root@izbp19j3e02z07srlc2gwxz ~ ] Client: Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Docker Buildx (Docker Inc., v0.8.1-docker) scan: Docker Scan (Docker Inc., v0.17.0) Server: Containers: 1 Running: 1 Paused: 0 Stopped: 0 Images: 1 Server Version: 20.10 .14 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: false userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: 3df54a852345ae127d1fa3092b95168e4a88e2f8 runc version: v1.0.3-0-gf46b6ba init version: de40ad0 Security Options: seccomp Profile: default Kernel Version: 3.10 .0 -514.26 .2 .el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 1. 796GiB Name: izbp19j3e02z07srlc2gwxz ID: 3XDO:FP34:WUYZ:NMTU:CEMO:DBUE:GLD3:6Z5O:SATR:TPN6:LKCQ:QCB7 Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0 .0 .0 /8 Registry Mirrors: https://pi9dpp60.mirror.aliyuncs.com/ Live Restore Enabled: false
查看镜像信息 -> docker images 1 2 3 4 [root@izbp19j3e02z07srlc2gwxz ~ ] REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.7 c20987f18b13 3 months ago 448MB
设置docker开机自启 1 2 3 4 5 6 7 8 9 10 systemctl enable docker; systemctl start docker; systemclt stop docker; systemctl restart docker;
镜像命令 1 2 3 4 5 6 7 8 docker images docker search docker pull docker rmi
docker安装mysql 5.7 查找MySQL镜像: docker search mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [root@izbp19j3e02z07srlc2gwxz ~ ] NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 12334 [OK ] mariadb MariaDB Server is a high performing open sou… 4742 [OK ] mysql/mysql-server Optimized MySQL Server Docker images. Create… 916 [OK ]percona Percona Server is a fork of the MySQL relati… 572 [OK ] phpmyadmin phpMyAdmin - A web interface for MySQL and M… 488 [OK ] mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 93 centos/mysql-57-centos7 MySQL 5.7 SQL database server 92 bitnami/mysql Bitnami MySQL Docker Image 67 [OK ]ubuntu/mysql MySQL open source fast, stable, multi-thread… 28 circleci/mysql MySQL is a widely used, open-source relation… 25 mysql/mysql-router MySQL Router provides transparent routing be… 23 centos/mysql-56-centos7 MySQL 5.6 SQL database server 22 google/mysql MySQL server for Google Compute Engine 21 [OK ]vmware/harbor-db Mysql container for Harbor 10 mysqlboy/mydumper mydumper for mysql logcial backups 3 mysqlboy/docker-mydumper docker-mydumper containerizes MySQL logical … 3 bitnami/mysqld-exporter 2 ibmcom/mysql-s390x Docker image for mysql-s390x 1 cimg/mysql 0 ibmcom/tidb-ppc64le TiDB is a distributed NewSQL database compat… 0 mysqlboy/elasticsearch 0 mysqleatmydata/mysql-eatmydata 0 mysql/ndb-operator MySQL NDB Operator for Kubernetes 0 mysql/mysql-operator MySQL Operator for Kubernetes 0 mirantis/mysql
拉起MySQL镜像(:5.7 表示5.7版本) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 docker pull mysql:5.7 docker run -d -p 3306 :3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci run run 是运行一个容器 -d 表示后台运行 -p 表示容器内部端口和服务器端口映射关联 --privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆 -v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置 -v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失 -e MYSQL_ROOT_PASSWORD=123456 设置MySQL数据库root用户的密码 --name mysql 设值容器名称为mysql mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码 docker exec -it mysql bash mysql -uroot -p
开启3306端口
设置mysql开机自启 1 2 3 4 5 6 7 8 9 10 [root@izbp19j3e02z07srlc2gwxz ~ ] CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6d6882c69068 mysql:5.7 "docker-entrypoint.s…" About an hour ago Up 50 minutes 0.0 .0 .0 :3306->3306/tcp, 33060 /tcp mysql sudo docker update mysql --restart=always