A. 如何在Docker容器中運行Apache伺服器
所需軟體
您需要在電腦中安裝 Oracle Virtual Box 和 Vagrant 。如果已經裝好,那我們就開始吧!
步驟1:創建 CentOS 虛擬機
在本地目錄(本文中使用 ~/vagrant 目錄)中創建一個 Vagrantfile 文件,內容如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "centos65"
config.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :public_network
config.ssh.forward_agent = true
end
在這里,我就不解釋 Vagrant 和 Vagrantfile 了。 Vagrantfile 創建好後,在
Vagrantfile 所在目錄中再創建一個 htdocs 目錄並在其中創建一個 index.html 文件, html
文件內容如下:
This file is being server by http server running inside docker
container
Vagrantfile 文件和 htdocs 目錄都創建好了,現在我們來執行下面的命令:
vagrant up # 啟動虛擬機,這一步可能會讓我們選擇網卡
vagrant ssh # 虛擬機啟動後,通過ssh登陸到虛擬機中
步驟2:安裝 docker
執行下面的命令來安裝 docker :
sudo yum -y update # Update Installed packages
sudo yum install docker-io # Install Docker
sudo service docker start # Start Docker
步驟3:設置 Docker
Docker 需要一個基本的鏡像才能運行,我們的所有容器都是(直接或間接)基於這樣一個鏡像來運行的,下面的命令把一個基本鏡像
pull 到本地:
sudo docker pull centos # Download base image
步驟4:為我們的容器創建第一個鏡像
# 以 centos 鏡像作為基礎鏡像,我們啟動自己的容器並在其中執行/bin/bash命令
# 註:-t -i 參數用於創建一個虛擬的命令行。
sudo docker run -t -i centos /bin/bash
現在我們已經成功的運行了自己的第一個容器,並且進入到容器的命令行界面中。在容器中,我們執行下面的命令:
yum -y update # 更新軟體包
yum install which # 安裝which命令
yum install git # 安裝Git
安裝完成後,按 Ctrl + d 來退出容器的命令行。
# 執行sudo docker ps -a,可以看到被我們終止的容器
CONTAINER ID IMAGE
COMMAND
CREATED……
da9031d3568f centos:6.4
/bin/bash 5
minutes ago…..
把我們所做的改變提交到一個新的容器:
# 這里我們創建一個自己的基礎容器,容器中安裝好了文章中所需的常用工具。讀者的容器 id 可能與文章中的有所不同,以上一步
docker ps -a 的結果為准。
sudo docker commit da90 custom/base
容器成功提交後,執行 sudo docker images
,我們會看到剛才提交的容器(如下面的結果所示)。我們就以這個容器為基礎容器,再來創建一個新的容器。
REPOSITORY TAG
IMAGE ID
CREATED
custom/base latest
05b6cecd370b
2 minutes ago
centos 6.4
539c0211cd76 10 months ago
centos latest
539c0211cd76
10 months ago…
步驟5:創建新的容器,並安裝 apache
# 以 custom/base 容器為基礎,運行一個新的容器。
sudo docker run -t -i custom/base /bin/bash
# 安裝 httpd
yum install httpd
步驟6:再次提交新的容器
按 Ctrl + d 來退出容器的命令行,然後執行命令:
# 這個命令會把步驟5中我們安裝 httpd 帶來的改變提交到新的名為 custom/httpd 的容器鏡像中。你的容器 id
可能會和文章中有所不同,以 sudo docker ps -a 命令的結果為准。
sudo docker commit aa6e2fc0b94c custom/httpd
你應該已經發現了,我們創建了一個帶有 http
伺服器並可以復用的容器鏡像。你可以根據這種思想,為自己所需的每個組件都創建一個容器,然後把這些容器復用於開發環境或者生產環境。
步驟7:運行 http 伺服器
# -v will Mount a volume from VM to the container which was also
shared from host to Vagrant VM.
# -v 參數把主機共享給虛擬機的一個卷掛載到容器中
# -p forward VM port 80 to container port 80; VM port 80 is
mapped to host port 8080 in Vagrantfile
# -p 參數把虛擬機的80埠映射到容器的80埠;虛擬機的80埠在 Vagrantfile
中被綁定到主機的8080埠,也就是:主機8080->虛擬機80->容器80
sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html
custom/httpd /bin/bash
# 啟動 Apache
apachectl -k start
步驟8:在瀏覽器中測試
在瀏覽器中瀏覽 http://localhost:8080 ,你應該可以看到步驟1中 html 文件的內容。
總結
我想,你現在一定已經感受到 Docker 的強大了。用 Docker
可以創建輕量級、可復用的鏡像,這樣的鏡像非常適合連續安裝軟體的情況。後面的文章中,我會教大家如何通過 Dockerfile
來完成本文中的工作,敬請期待。
譯者註:連續安裝軟體的情況,作者意思是指通過 Docker 鏡像中「層」( layer
)的概念,在連續的層中,每一層都安裝所需的一種或幾種軟體。
B. centos怎麼通過命令拿
linux centos 命令怎麼使用 在X-Window圖形操作界面中按「Alt+Ctrl+功能鍵Fnn=1~6」就可以進入Console字元操作界面。這就意味著你可以同時擁有X-Window加上6個Console字元操作界面,這是一件多麼令人振奮的事情啊! 在Console字元...
C. 如何在CentOS系統利用命令行操作文件以及文件夾
下面總結一些linux,CentOS下面常用的命令:
cd pwd
NO1. 顯示當前路徑
[root@rehat root]# pwd
NO2. 返回用戶主目錄
[root@rehat root]# cd
NO3. 改變到其它路徑
[root@rehat root]# cd /etc
NO4. 返回到上一級目錄
[root@rehat root]# cd ..
NO5. 返回到根目錄
[root@rehat root]# cd /
查詢文件或文件夾的CentOS常用命令 find
NO1. 查找當前用戶主目錄下的所有文件
[root@rehat root]# find ~
NO2. 讓當前目錄中文件屬主具有讀、寫許可權,並且文件所屬組的用戶和其他用戶具有讀許可權的文件;
[root@rehat root]# find . -perm 644 -exec ls -l {} \;
NO3. 為了查找系統中所有文件長度為0的普通文件,並列出它們的完整路徑;
[root@rehat root]# find / size 0 -type f -exec ls -l {} \;
NO4. 查找/var/logs目錄中更改時間在7日以前的普通文件,並在刪除之前詢問它們;
[root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} \;
NO5. 為/找系統中所有屬於root組的文件;
[root@rehat root]# find / -group root -exec ls -l {} \;
NO6. find命令將刪除當目錄中訪問時間在7日以來、含有數字後綴的admin.log文件
[root@rehat root]# find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;
NO7. 為了查找當前文件系統中的所有目錄並排序
[root@rehat root]# find . -type d | sort
NO8. 為了查找系統中所有的rmt磁帶設備
[root@rehat root]# find /dev/rmt
顯示文件/文件夾清單的CentOS常用命令 ls / dir
NO1. 顯示所有文件,包括以.開頭的隱含文件
[root@rehat root]# ls -a
NO2. 顯示文件的詳細信息
[root@rehat root]# ls -l
NO3. 顯示當前目錄及所有子目錄信息
[root@rehat root]# ls -Rl
NO4. 以時間排序顯示目錄,這在找最新文件有用
[root@rehat root]# ls -tl
NO5. 以文件大小排序
[root@rehat root]# ls -Sl
NO6. 顯示文件大小,並按大小排序
[root@rehat root]# ls -s -l -S
移動或更改文件/文件夾名稱的CentOS常用命令 mv 與 cp命令用法相似
NO1. 若移動目標文件已存在,要在移動之前,先備份原來的目錄文件
[root@rehat root]# mv -b test.txt test2/
這樣在 test2 下將有兩個文件 test.txt 及 text.txt~
其中 test.txt~ 是備份文件,test.txt是新的文件
NO2. 若移動目標文件已存在,但不想彈出是否覆蓋的提示,直接覆蓋
[root@rehat root]# mv -f test.txt test2/
NO3. 當源與目標都擁有同一個文件,若源文件比目標新則移動,否則不移動
[root@rehat root]# mv -u test.txt test2/
NO4. 更改文件名稱
[root@rehat root]# mv test.txt test2.txt
NO5. 更改目錄名稱
[root@rehat root]# mv /test2 /test2_2[/size]
創建/改變文件系統的CentOS常用命令
NO1. 創建文件系統類型
[root@rehat root]# umount /dev/sdb1
[root@rehat root]# mkfs -t ext3 /dev/db1
[root@rehat root]# mount /dev/sdb1 /practice
改變文件或文件夾許可權的CentOS常用命令chmod
NO1. 將自己的筆記設為只有自己才能看
[root@rehat root]# chmod go-rwx test.txt
或者
[root@rehat root]# chmod 700 test.txt
NO2. 同時修改多個文件的許可權
[root@rehat root]# chmod 700 test1.txt test2.txt
NO3. 修改一個目錄的許可權,包括其子目錄及文件
[root@rehat root]# chmod 700 -R test
改變文件或文件夾擁有者的CentOS常用命令
chown 該命令只有 root 才能使用
NO1. 更改某個文件的擁有者
[root@rehat root]# chown jim:usergroup test.txt
NO2. 更改某個目錄的擁有者,並包含子目錄
[root@rehat root]# chown jim:usergroup -R test
查看文本文件內容的CentOS常用命令cat
NO1. 查看文件內容,並在每行前面加上行號
[root@rehat root]# cat -n test.txt
NO2. 查看文件內容,在不是空行的前面加上行號
[root@rehat root]# cat -b test.txt
NO3. 合並兩個文件的內容
[root@rehat root]# cat test1.txt test2.txt > test_new.txt
NO4. 全並兩具文件的內容,並追回到一個文件
[root@rehat root]# cat test1.txt test2.txt >> test_total.txt
NO5. 清空某個文件的內容
[root@rehat root]# cat /dev/null > test.txt
NO6. 創建一個新的文件
[root@rehat root]# cat > new.txt 按 CTRL + C 結束錄入
編輯文件文件的CentOS常用命令vi
NO1. 新建檔案文件
[root@rehat root]# vi newfile.txt
NO2. 修改檔案文件
[root@rehat root]# vi test.txt test.txt 已存在
NO3. vi 的兩種工作模式:命令模式,編輯模式
NO4. 進入 vi 後為命令模式,按 Insrt 鍵進入編輯模式
按 ESC 進入命令模式,在命令模式不能編輯,只能輸入命令
NO5. 命令模式常用命令
:w 保存當前文檔
:q 直接退出 vi
:wq 先保存後退出 。
:q! 強制不保存退出
創建目錄的CentOS常用命令mkdir
NO1. 在當前路徑創建一級目錄
[root@rehat root]# mkdir test
NO2. 在當前路徑創建多級目錄
[root@rehat root]# mkdir -p mytest/test1/test1_1
NO3. 在創建目錄的同時給新建的目錄賦許可權
[root@rehat root]# mkdir -m 777 testmod
這樣任何人對此目錄都有任何許可權
復制文件與文件夾的CentOS常用命令cp
NO1. 復制指定目錄的文件到當前目錄,並重命名
[root@rehat root]# cp ~/.bashrc bashrc_bak
NO2. 強制復制指定目錄的文件到當前目錄,而不管當前目錄是否含有該文件
[root@rehat root]# cp -f ~/.bashrc bashrc
NO2. 復制指定目錄到當前目錄
[root@rehat root]# cp -r /root/test .
[root@rehat root]# cp -r /root/test/ .
兩者效果一樣,在復制目錄時,會將源路徑的最後一級目錄全部復制過去,包括它本身。
NO3. 復制指定目錄的文件到指定目錄
[root@rehat root]# cp ~/.bashrc /bak/.bashrc
NO4. 在復制時將源文件的全部屬性也復制過來。若不指定參數,則目標文件與源文件屬性可能不一致。
[root@rehat root]# cp -a ~/.bashrc /bak/.bashrc
NO5. 若兩個文件夾要保證同步,一個文件的改了,另一個文件也跟著改,但是要保證兩個文件的文件都是最新的。
[root@rehat root]# cp -u /src/.bashrc /bak_src/bashrc
建立鏈接文件,包括硬鏈接與軟鏈接的CentOS常用命令ln
NO1. 建立類似於 Windows 的快捷方式
[root@rehat root]# ln -s test.txt test.txt_slnk
NO2. 當想備份一個文件,但空間又不夠,則可以為該文件建立一個硬連接。這樣,就算原文件刪除了,只要該 鏈接文件沒被刪除,則在存儲空間里還是沒有被刪除。
[root@rehat root]# ln -l test.txt test.txt_hlnk
使用CentOS常用命令查看cpu
more /proc/cpuinfo | grep "model name"
grep "model name" /proc/cpuinfo
[root@localhost /]# grep "CPU" /proc/cpuinfo
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
如果覺得需要看的更加舒服
grep "model name" /proc/cpuinfo | cut -f2 -d:
使用CentOS常用命令查看內存
grep MemTotal /proc/meminfo grep MemTotal /proc/meminfo | cut -f2 -d: free -m |grep "Mem" | awk '{print $2}'
使用CentOS常用命令查看cpu是32位還是64位 查看CPU位數(32 or 64)
getconf LONG_BIT
使用CentOS常用命令查看當前linux的版本
more /etc/redhat-release
cat /etc/redhat-release
使用CentOS常用命令查看內核版本
uname -r
uname -a
使用CentOS常用命令查看當前時間
date上面已經介紹如何同步時間了
使用CentOS常用命令查看硬碟和分區
df -h
fdisk -l
也可以查看分區
-sh
可以看到全部佔用的空間
/etc -sh
可以看到這個目錄的大小
使用CentOS常用命令查看安裝的軟體包,查看系統安裝的時候裝的軟體包
cat -n /root/install.log
more /root/install.log | wc -l
查看現在已經安裝了那些軟體包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
不過很奇怪,我通過rpm,和yum這兩種方式查詢的安裝軟體包,數量並不一樣。沒有找到原因。
使用CentOS常用命令查看鍵盤布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=
使用CentOS常用命令查看selinux情況
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
使用CentOS常用命令查看ip,mac地址
在ifcfg-eth0 文件里你可以看到mac,網關等信息。
ifconfig cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d= ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
查看網關
cat /etc/sysconfig/network
查看dns
cat /etc/resolv.conf
使用CentOS常用命令查看默認語言
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n
使用CentOS常用命令查看所屬時區和是否使用UTC時間
cat /etc/sysconfig/clock
使用CentOS常用命令查看主機名
hostname
cat /etc/sysconfig/network
修改主機名就是修改這個文件,同時最好也把host文件也修改。
使用CentOS常用命令查看開機運行時間
uptime
09:44:45 up 67 days, 23:32, ...
看來剛才確實是網段的問題,我的機器還是67天前開機的。
系統資源使用情況
vmstat 1 -S m procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 233 199 778 0 0 4 25 1 1 3 0 96 0 0 0 0 0 233 199 778 0 0 0 0 1029 856 13 1 86 0 0
刪除文件的CentOS常用命令rm
NO1. 刪除當前目錄的文件
[root@rehat root]# rm test.txt
NO2. 強制刪除當前目錄的文件,不彈出提示
[root@rehat root]# rm -f test.txt
NO3. 強制刪除整個目錄,包括目錄與文件全部刪除,需要管理員許可權
[root@rehat root]# rm -r -f test
刪除文件夾的CentOS常用命令rmdir
NO1. 刪除一個空目錄
[root@rehat root]# rmdir emptydir
NO2. 刪除多級空目錄
[root@rehat root]# rmdir -p emptydir/d1/d11
掛載文件系統與卸載文件系統的CentOS常用命令
mount / umount
NO1. 掛載光碟機
[root@rehat root]# mount -t iso9660 /dev/cdrom /mnt/cdrom
NO2. 掛載光碟機,支持中文
[root@rehat root]# mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom
NO3. 掛載 Windows 分區,FAT文件系統
[root@rehat root]# mount -t vfat /dev/hda3 /mnt/cdrom
NO4. 掛載 Windows 分區,NTFS文件系統
[root@rehat root]# mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7
No5. 掛載 ISO 文件
[root@rehat root]# mount -o loop /abc.iso /mnt/cdrom
NO6. 掛載 軟碟機
[root@rehat root]# mount /dev/fd0 /mnt/floppy
NO7. 掛載閃盤
[root@rehat root]# mount /dev/sda1 /mnt/cdrom
NO8. 掛載 Windows 操作系統共享的文件夾
[root@rehat root]# mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
NO9. 顯示掛載的文件系統
[root@rehat root]# mount
[root@rehat root]# cat /etc/fstab 顯示系統啟動自動載入的文件系統
[root@rehat root]# cat /etc/mtab 顯示當前載入的文件系統
D. 怎樣查看centos有多少命令
解決方法:
有以下命令可以查看:
# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.4 (Final)
Release: 5.4
Codename: Final
這個命令適用於所有的linux,包括Redhat、SuSE、Debian、Centos等發行版。
root@MyMail ~ # uname
Linux
root@MyMail ~ # uname -r
2.6.18-164.el5
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux
以下二種方法適用於RedHat,CentOS
root@MyMail ~ # cat /etc/redhat-release
CentOS release 5.4 (Final)
登錄到linux執行rpm -q redhat-release
#rpm -q redhat-release
或CentOS
root@MyMail ~ # rpm -q centos-release
centos-release-5-4.el5.centos.1
E. centos修改配置文件命令
centos可以使用vi命令修改。
F. centos6.6怎麼用命令配置ip
1
在安裝過程中,到了設置主機名的界面,在左下方即有網路配置。如圖。
點擊進入。
2
進入網路連接後,我們點擊:System eth0,再點擊:編輯。如圖。
3
然後先打勾:自動連接,再點擊設置IPV4,如圖。
4
在方法處:將自動更改為手動,如圖。
5
然後,點擊添加地址,如圖。
6
1、在地址欄處輸入IP地址。
2、子網掩碼默認是24,已經是對的了,不過你也可以輸入:255.255.255.0,或根據你的子網來更改。
3、網關處輸入你的網關,一般人的都是路由器的IP地址。
4、在DNS伺服器後面,輸入你的DNS,如果有多個DNS,請用逗號「,」分隔。
如圖,最後就一路確定關閉就可以了。
END
安裝好系統後的命令界面設置網路IP地址方法
1
很多時候,Centos系統都是使用命令來管理的,如果當時安裝系統時沒有設置IP地址的話,那就只能在命令行設置了。當然對於高手來說,easy!但對於小白來說,頭都大了,呵呵!下面簡單說下我的操作吧
首先登陸帳戶,用命令查看一下IP配置:ifconfig,結果如圖。
2
沒有查到信息,那是正常的,因為你沒設置嘛!那接下來正常是用VI命令編輯網路配置文件了,命令:vi /etc/sysconfig/network-scripts/ifcfg-eht0
在這里的ETH0,指的第一個網卡介面,如果你的電腦(伺服器有多個,請區分)
3
進入VI編輯模式下,裡面是空的,在左下角有提示是新(增)文件。如圖。
你就可以按格式編寫內容了!
編寫完成後:
1、按「ESC」,返回VI命令。
2、輸入:「:X」保存退出。
就可以了。
4
但是,很多時候,較難記住裡面文件的內容,且在輸入時容易輸錯,所以,在此,我給小白們一個建議方法:
我們先設置一個臨時IP,即重啟後丟失的那種,命令是: ifconfig eth0 192.168.1.103(請根據你的實際情況輸入),如圖。就完成了。
5
這時,我們先來查看網路IP配置情況,命令是:ifconfig,如圖。臨時IP設置成功了。
6
當然,我們也可以用最常用的ping來測試網路是否連通,如圖。網路也是通的了。
7
網路連通後,你就懂了吧,呵呵,就可以用其他工具登陸來設置了,如putty、SecureCRT及WINSCP等等了,最起碼可以實現復制粘貼了,而WINSCP更方便,直接如WINDOWS一樣操作。如圖是putty。
以下解說一下網路配置文件內容:
DEVICE=eth0
TYPE=Etherne
tUUID=58d64342-6bca-4156-8d4b-3bb092190644
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:15:5D:01:44:11
IPADDR=192.168.1.103
PREFIX=24
GATEWAY=192.168.1.251
DNS1=202.96.128.86
DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
解說如下:
1、網卡對應的設備別名,如ifcfg-eth0的文件中它為eth02、網路類型:乙太網
UUID含義是通用唯一識別碼 (Universally Unique Identifier),在此可以忽略
3、ONBOOT=自動載入
NM_CONTROLLED及BOOTPROTO在此可以忽略
4、HWADDR=00:15:5D:01:44:11 網卡MAC地址(這個是我的,你別抄哦)
5、IPADDR=192.168.1.103 網路ip地址
6、PREFIX=24 子網掩碼24位
7、GATEWAY=192.168.1.251 網關地址8、DNS1=10.203.104.41 主DNS地址
9、DNS1=10.203.104.41 備用DNS地址
G. centos 刪除文件夾的命令是什麼來的
1、刪除文件夾命令:
rm /home/test(不帶參數的刪除方法經常會提示無法刪除,因為許可權不夠。)
2、帶參數刪除
(1)、 rm -r /home/test(參數-r是遞歸的刪除參數表中的目錄及其子目錄。 目錄將被清空並且刪除。當刪除目錄包含的具有防寫的文件時用戶通常是被提示的。)
(2)、rm -rf /home/test(-f是不提示用戶,刪除目錄下的所有文件。需要注意檢查路徑)
(3)、 rm -ir /home/test(-i是交互模式。使用這個選項,rm命令在刪除任何文件前提示用戶確認。)
(7)centos65命令擴展閱讀:
CentOS常用命令
CentOS常用命令在使用過程中,經常被使用。一些經常使用且重要的CentOS常用命令如下:
使用CentOS常用命令查看cpu
more /proc/cpuinfo | grep "model name"
grep "model name" /proc/cpuinfo
[root@localhost /]# grep "CPU" /proc/cpuinfo
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
H. docker centos65 7使用哪個比較好
$ yum install docker
安裝過程中報錯:
Transaction check error:
file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
解決辦法:
$yum install libdevmapper* -y
再次運行:
$yum install docker
3.檢查安裝是否成功
$docker version
若輸出了 Docker 的版本號,說明安裝成功了,可通過以下命令啟動 Docker 服務:
4. $service docker start
一旦 Docker 服務啟動完畢,就可以開始使用 Docker 了。
I. centos 怎樣寫linux命令
Linux的常用基本命令。
首先啟動Linux。啟動完畢後需要進行用戶的登錄,選擇登陸的用戶不同自然許可權也不一樣,其中「系統管理員」擁有最高許可權。
在啟動Linux後屏幕出現如下界面顯示:
……
Red Hat Linux release 9 (Shrike)
Kernel2.4.20.8 on an i686
login:
輸入:root(管理員名)後,計算機顯示輸口令(password:),輸入你的口令即可。當計算機出現一個「#」提示 符時,表明你登錄成功!
屏幕顯示Linux提示符:[root@localhost root]#_
這里需要說明的是「Red Hat Linux release 9 (Shrike)」表示當前使用的操作系統的名稱及版本。「2.4.20.8」表示Linux操作系統的核
心版本編號。「i686」表示該台電腦使用的CPU的等級。
下面我們來介紹常用基本命令
一,注銷,關機,重啟
注銷系統的logout命令
1,Logout 注銷是登陸的相對操作,登陸系統後,若要離開系統,用戶只要直接下達logout命令即可:
[root@localhost root]#logout
Red Hat Linuxrelease 9(Shike)
Kernel2.4.20.8 on an i686
Login: ← 回到登陸的畫面
2,關機或重新啟動的shutdown命令
Shutdown命令可以關閉所有程序,依照用戶的需要,重新啟動或關機。
參數說明如下:
立即關機:-h 參數讓系統立即關機。範例如下:
[root@localhost root]#shutdown –h now ← 要求系統立即關機
指定關機時間:time參數可指定關機的時間;或設置多久時間後運行shutdown命令,範例如下:
[root@localhost root]#shutdown now ← 立刻關機
[root@localhost root]#shutdown +5 ← 5分鍾後關機
[root@localhost root]#shutdown 10:30 ← 在10:30時關機
關機後自動重啟:-r 參數設置關機後重新啟動。範例如下:
[root@localhost root]#shutdown -r now ← 立刻關閉系統並重啟
[root@localhost root]#shutdown -r 23:59 ← 指定在23:59時重啟動
3,重新啟動計算機的reboot命令
顧名思義,reboot命令是用來重新啟動系統的。常用的參數如下:
-f 參數:不依正常的程序運行關機,直接關閉系統並重新啟動計算機。
-I 參數:在在重新啟動之前關閉所有網路介面。
雖然reboot命令有個參數可以使用,但是一般只需要單獨運行reboot命令就可以了
二,文件與目錄的操作
1,列出文件列表的ls命令
ls(list)命令是非常有用的命令,用來顯示當前目錄中的文件和子目錄列表。配合參數的使用,能以不同的方式顯示目錄內容。範例
如下:
顯示當前目錄的內容:
[tony@free tony]$ ls
Desktop mail myinstall.log test.txt ← 有兩個目錄及兩個文件夾
當運行ls命令時,並不會顯示名稱以「.」開頭的文件。因此可加上「-a」參數指定要列出這些文件。範例如下:
[tony@free tony]$ ls –a
以「-s」參數顯示每個文件所有的空間,並以「-S」參數指定按所有佔用空間的大小排序。範例如下:
[tony@free tony]$ ls –s –S
總計36
4 Desktop 4 mail 24 myinstall.log 4 test.txt
在ls命令後直接加上欲顯示的目錄路徑,就會列出該目錄的內容。範例如下:
[tony@free tony]$ ls –l/usr/games
2,切換目錄的cd命令
cd(change directory)命令可讓用戶切當前所在的目錄。範例如下:
[tony@free home]$ cd tony ← 切換到當前目錄下的tony子目錄
[tony@free tony]$ cd .. ← 切換到上一層目錄
[tony@free home]$ cd / ← 切換到系統根目錄
[tony@free /]$ cd ← 切換到用戶主目錄
[tony@free tony]$ cd /usr/bin ← 切換到/usr/bin目錄
3,創建目錄的mkdir命令
Mkdir(make directory)命令可用來創建子目錄。下面的範例會在所在目錄下創建tool子目錄。
[tony@free tony]$ mkdir tool
4,刪除目錄的rmdir命令
rmdir(remove directory)命令可用來刪除「空」的子目錄。範例如下:
[tony@free tony]$ rmdir tool ← 刪除tool目錄
5,復制文件的cp命令
cp()命令可以將文件從一處復制到另一處。一般在使用cp命令將以個文件復製成另一個文件或復制到某個目錄時,需要指定原始文件
名與目的文件名或目錄。範例如下:
[tony@free tony]$ cp data1.txt data2.txt ← 將data1.txt復製成data2.txt
[tony@free tony]$ cp data3.txt /tmp/data ← 將data3復制到/tmp/data目錄中
顯示復制過程:加入-v參數可顯示命令執行過程。範例如下:
[tony@free tony]$ cp zip.txt zip2.txt ← 一般狀態下不會顯示復制過程
[tony@free tony]$ cp –v zip.txt zip3.txt ← 以-v顯示復制過程
zip.txt ->zip3.txt
遞回復制:加入「-R」參數可同時復制目錄下的所有文件及子目錄。範例如下:
[tony@free tony]$ cp –v –R * backup ← 將所有文件(含子目錄文件)復制到backup目錄
6,刪除文件或目錄的rm命令
rm(remove)命令可以刪除文件或目錄。範例如下:
[tony@free tony]$ rm myfile ← 刪除指定的文件
[tony@free tony]$ rm * ← 刪除當前目錄中的所有文件
rm命令的常用參數如下:
強迫刪除:使用-f參數時,rm命令會直接刪除文件,不再詢問。範例如下:
[tony@free tony]$ rm –f *.txt ← 強迫刪除文件
遞回刪除:-r 也是一個相當常用的參數,使用此參數可同時刪除指定目錄下的所有文件及子目錄。範例如下:
[tony@free tony]$ rm –r data ← 刪除data目錄(含data目錄下所有文件和子目錄)
[tony@free tony]$ rm –r * ← 刪除所有文件(含當前目錄所有文件,所有子目錄和子目錄下的文件)
強制刪除指定目錄:當使用-r參數刪除目錄時,若該目錄下有許多子目錄及文件,則系統會不間斷地詢問,以確認您的確要刪除
目錄或文件。若已確定要刪除所存目錄及文件,則可以使用-rf參數,如此一來,系統將直接刪除該目錄中所有的文件及子目錄,不再詢問。范
例如下:
[tony@free tony]$ rm –rf tmp 強制刪除tmp目錄及該目錄下所有文件及子目錄
顯示刪除過程:使用-v 參數。範例如下:
[tony@free tony]$ rm –v
7,讓顯示畫面暫停的more命令
為了避免畫面顯示瞬間就閃過去,用戶可以使用more命令,讓畫面在顯示滿一頁時暫停,此時可按空格鍵繼續顯示下一個畫面,或按Q鍵停
止顯示。
當使用ls命令查看文件列表時,若文件太多則可以配合more命令使用。範例如下:
[tony@free bin]$ ls –al more
單獨使用more命令時,可用來顯示文字文件的內容。範例如下:
[tony@free tony]$ more data.txt
8,連接文件的cat命令
cat(concatenate) 命令可以顯示文件的內容(經常和more命令搭配使用),或是將數個文件合並成一個文件。範例如下:
逐頁顯示 preface.txt的內容:
[tony@free tony]$ cat preface.txt more
將preface.txt 附加到outline.txt文件之後:
[tony@free tony]$ cat preface.txt >> outline.txt
將new.txt和info.txt合並成readme.txt文件:
[tony@free tony]$ cat new.txt info.txt >readme.txt
9,移動或更換文件,目錄名稱的mv命令
mv (move)命令可以將文件及目錄移動到另一個目錄下面,或更換文件及目錄的名稱。範例如下:
[tony@free backup]$ mv a.txt .. ← 將a.txt文件移到上層目錄
[tony@free backup]$ mv z1.txt z3.txt ← 將 z1.txt改名成z3.txt
[tony@free backup]$ cd.. ← 切換到上一層目錄
[tony@free tony]$ mv backup.. ← backup 目錄上移一層
10,顯示當前所在目錄的pwd命令
pwd(print working directory)命令可顯示用戶當前所在的目錄。範例如下:
[tony@free tony]$ pwd
/home/tony ← 當前所在目錄為「/home/tony」
11,查找文件的locate命令
locate 命令可用來搜索包含指定條件字元串的文件或目錄。範例如下:
[tony@free tony]$ locate zh_CN 列出所有包含「zh_CN」字元串的文件和目錄。
由於locate命令是從系統中保存文件及目錄名稱的資料庫中搜索文件,雖然系統會定時更新資料庫,但對於剛新增或刪除的文件、目錄,
仍然可能會因為資料庫尚未更新而無法查得,此時可用root身份運行updatedb命令更新,為此資料庫得內容正確。
12,搜索字元串得grep命令
grep 命令可以搜索特定字元串來並顯示出來,一般用來過濾先前得結果,避免顯示太多不必要得信息。範例如下:
[tony@free etc]$ grep text *.conf ← 搜索當前目錄中擴展名為.conf且包含「text」字元串得文件。
grep:amd.conf: ← 拒絕不符許可權得操作
grep:diskcheck.conf: ← 拒絕不符許可權得操作
grep:grub.conf ← 拒絕不符許可權得操作
若您是使用一般許可權的用戶運行,上例的輸出結果會包含很多如「拒絕不符許可權的操作之類的錯誤信息,可使用-s參數消除。
[tony@free etc]$ grep –s text *.conf
13,重導與管道
重導(redirect)可將某命令的結果輸出導文件中,它有兩中命令:「>」和「>>」。「>」可將結果輸出到文件中,該文件原有的內容會被
刪除:「>>」則將結果附加到文件中,原文件內容不會被清除。範例如下:
[tony@free tony]$ ls –a>dir.txt ← 將ls –a命令執行結果輸出到dir.txt文件。
[tony@free tony]$ cat data1.txt >> data2.txt ← 將 data1.txt 內容附加到data2.txt文件之後。
通道(pipe)命令的符號是「」,可將某命令的結果輸出給另一命令,一下範例將ls命令的輸出結果傳給grep命令過濾:
[tony@free etc]$ ls gerp conf ← 搜索並顯示ls命令運行結果中包含有「conf」字元串
在舉一個刪除文件或目錄的例子,可以利用yes命令重復輸出「y」字元的特性,將結果傳給rm命令,如此即可避免重復輸入「y」:
[tony@free tony]$ yes rm –r mydir
三,使用光碟及軟盤
在Linux的文字模式下要使用光碟或軟盤,並不是只將光碟或軟盤放入即可,用戶需要運行載入的命令,才可讀寫數據。所謂載入就是將存
儲介質(如光碟和軟盤)指定成系統中的某個目錄(如/mnt/cdrom或mnt/floppy)。通過直接存取此載入目錄,即可讀寫存儲介質中的數據。
以下就來看看文字模式下的載入及卸載命令。
1,載入的mount命令
要使用光碟時先把光碟放入光碟機,然後執行載入的mount命令,將光碟載入至系統中:
[tony@free tony]# mount/dev/cdrom/mut/cdrom ← 載入光碟
同理,使用軟盤之前也需要和光碟一樣,必須先載入後才能使用:
[tony@free tony]# mount/dev/fd0/mut/floppy ← 載入軟盤
2,卸載的umount命令
如果不需要使用光碟或軟盤,則需先執行卸載命令之後,才能將光碟或軟盤退出。範例如下:
[tony@free tony]# umount / mnt/cdrom ← 光碟卸載
在不使用軟盤時執行umount 命令卸載軟盤,再將軟盤拿出
[tony@free tony]# umount / mnt/ ← 軟盤卸載
四,在後台運行程序
用戶有時的程序有可能要花費很多時間,如果將它放在前台運行,將導致無法繼續做其他事情,最好的方法就是將它放在後台運行,甚至
可能希望在用戶注銷系統後,程序還可以繼續運行。讓我們看看那如何實現這一目的。
1,在後台運行程序的&、bg命令
將程序放到後台運行的最簡單方法就是在命令最後加上「&」,範例如下:
[tony@free root]# updatedb & ← 在後台執行 locate 資料庫更新命令
[tony@free root]# bg ← 將更新操作放到後台運行
2,前台運行的程序fg命令
如果用戶當前已有程序在後台運行,可以輸入fg命令,將它從背景中移到前台運行:
[tony@free root]# fg ← 放到前台執行的命令會顯示出來
3,在退出後讓程序繼續運行的nohup命令
此命令可使用戶退出系統後,程序繼續運行。範例如下:
[tony@free rony]$ nohup myserver &
然後用戶就可以退出了,當再次登錄的時候,可以用ps –aux命令看到程序仍在後台中運行。
五,任務調度命令
計算機有很多程序需要周期性的被運用,例如清理磁碟中不要的暫存檔、備份系統數據、檢查遠程伺服器的郵件等。對於這些重復性的工
作,其實不需要每次都辛苦地運行這些程序。可利用任務調度命令,指定系統定期在某個時間運行這些程序,輕輕鬆鬆完成想要執行的工作。
任務調度的crond常駐命令
crond 是Linux用來定期執行程序的命令。當安裝完成操作系統後,默認便會啟動此任務調動命令。crond命令每分鍾會定期檢查是否有要
執行的工作,如果有要執行的工作,便會自動執行該工作。由於任務調度中間的操作過程十分繁雜,我們只將任務調度文件的寫法介紹給大家
,供大家參閱:
Minute Hour Day Month DayOfWeek Command
在這段文字中除了「Command」是每次都必須指定的欄位以外,其他自動皆可視需求自行決定是否指定。
六,任務調度的系統工作
/ect/crontab/文件是Linux系統工程的任務調度設置文件,其默認的內容如下:
SHELL=/bin/bash ← 指定執行任務調度工作時所使用的SHELL
PATH=/shin:/bin:/usr/sbin:/usr/bin ← 指定命令搜索的路徑
MAILTO=root ← 指定將輸出結果給root用戶
HOME=/ ← 指定跟目錄