天天看點

Docker 常用指令使用和容器安裝Docker安裝及使用

寫篇部落格總結一下 docker基本指令和容器安裝,做一個備忘和總結。

Docker安裝及使用

1.安裝docker

安裝文檔:https://docs.docker.com/install/linux/docker-ce/centos/

1.解除安裝系統之前的docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
           

2.安裝依賴

sudo yum install -y yum-utils
           

3.docker倉庫位址

sudo yum-config-manager \
    --add-repo \    https://download.docker.com/linux/centos/docker-ce.repo
           

4.安裝docker

sudo yum install docker-ce docker-ce-cli containerd.io
           

5.啟動docker

sudo systemctl start docker
           

6.檢視docker(需root權限)

docker ps // 啟動的容器
docker ps -all // 所有容器
           

7.設定docker開機自啟

sudo systemctl enable docker
           

2.docker安裝mysql

1.下載下傳鏡像檔案

docker pull mysql:5.7
           

2.建立執行個體并啟動

docker run -p 3306:3306 --name mysql --restart=always \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
           

解釋:-p 3306:3306 将容器3306端口映射到主機3306端口

–restart 啟動docker時候啟動該容器

-v /mydata/mysql/conf:/etc/mysql :将配置檔案夾挂載到主機

-v /mydata/mysql/log:/var/log/mysql :将日志檔案夾挂載到主機

-v /mydata/mysql/data:/var/lib/mysql :将配置檔案夾挂載到主機

-e MYSQL_ROOT_PASSWORD=root 初始化密碼

3.修改MYSQL配置

vi /mydata/mysql/conf/my.cnf

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect=‘SET collation_connection = utf8_unicode_ci’

init_connect=‘SET NAMES utf8’

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

4.重新開機mysql

docker restart mysql
           

3.docker安裝redis

1.下載下傳鏡像(無版本号即下載下傳最新版本)

docker pull redis 
           

2.建立redis配置檔案

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

3.安裝redis

docker run -p 6379:6379 --name redis --restart=always \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
           

-d 啟動redis設定容器在背景執行,根據redis.conf來讀取配置檔案啟動

–restart 啟動docker時候啟動該容器

4.redis持久化配置

vi /mydata/redis/conf/redis.conf

輸入appendonly yes

5.重新開機redis

docker restart redis
           

4.docker安裝nginx

1.下載下傳鏡像

docker pull nginx
           

2.建立nginx配置檔案

mkdir -p /mydata/nginx/conf

touch /mydata/nginx/conf/nginx.conf

3.增加配置

events {

worker_connections 1024; ## Default: 1024

}

  • 如果不增加此配置nginx會報錯,不清楚原因

    nginx: [emerg] no “events” section in configuration

4.安裝nginx

docker run -p 8080:80 --name nginx \
--restart=always
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx
           

5.如果不設定配置檔案挂載啟動,則可以直接啟動

docker run --name nginx-test -p 8080:80 -d nginx
           

5.docker安裝centos

1.下載下傳鏡像

docker pull centos
           

2.建立centos容器

docker run -it -d -p 8888:8888 --name centos --restart=always --privileged=true \
-v /mydata/centos/www:/www centos \
           

可以增加其他的端口映射,比如将80端口通路容器的80端口,可自由選擇配置。

3.進入centos

docker exec -it centos /bin/bash
           

4.系統初始化:由于docker中是一個純淨版本,我們首先需要給他更新并且安裝必要的軟體。

yum check-update -y && yum update -y && yum install initscripts screen wget -y
           

6.docker常用指令

sudo docker images // 檢視所有鏡像

docker exec -it mysql /bin/bash // 進入容器

docker rm

container-name

// 删除容器

docker top

container-name

//容器占用率高

docker logs -f

container-name

// 容器執行日志

docker pull mysql|redis:xxx // 拉取docker源 xxx是版本,不加預設最新latest

繼續閱讀